在不丢失拉伸因子的情况下替换 Qsplitter 中的小部件
replace widget in Qsplitter without losing the stretch factor
我在同一个 splliter 中有 2 个小部件(按钮),我想用 Tabwidget 替换第一个。我失去了正确的拉伸因子 (1:1) 它会像 (2:1) 或不像旧因素(当它只有 2 个按钮时)
splitter->addwidget(qbut1);
splitter->addwidget(qbut2);
splitter->insertwidget(0,tab);
甚至当我在第一个选项卡和一个按钮上添加时..选项卡的大小比按钮大
我怎样才能做到 (1:1) 我试试
splitter->setStretchFactor(0,1);
splitter->setStretchFactor(1,1);
但是没用
您可以使用 QSplitter::setSizes
设置拆分的大小。为了达到一对一的比例,你可以使用这样的东西:
int width = splitter->width();
QList<int> sizes;
sizes << width/2 << width/2;
splitter->setSizes(sizes);
请注意,这只是设置初始大小,用户仍然可以随意调整它们的大小。另外,重新阅读有关拉伸因子的文档,听起来您可能误解了它们的含义。
我在同一个 splliter 中有 2 个小部件(按钮),我想用 Tabwidget 替换第一个。我失去了正确的拉伸因子 (1:1) 它会像 (2:1) 或不像旧因素(当它只有 2 个按钮时)
splitter->addwidget(qbut1);
splitter->addwidget(qbut2);
splitter->insertwidget(0,tab);
甚至当我在第一个选项卡和一个按钮上添加时..选项卡的大小比按钮大 我怎样才能做到 (1:1) 我试试
splitter->setStretchFactor(0,1);
splitter->setStretchFactor(1,1);
但是没用
您可以使用 QSplitter::setSizes
设置拆分的大小。为了达到一对一的比例,你可以使用这样的东西:
int width = splitter->width();
QList<int> sizes;
sizes << width/2 << width/2;
splitter->setSizes(sizes);
请注意,这只是设置初始大小,用户仍然可以随意调整它们的大小。另外,重新阅读有关拉伸因子的文档,听起来您可能误解了它们的含义。