标题:Layout新增widget,父widget和子widget的尺寸如何更新?
作者:初九利恒
日期:2017-02-16 08:50
内容:
请教各位版友一个困扰我的问题:父widget QGroupbox,尺寸是fixed的800乘800,在这个父widget的QGridlayout里新增第一个子widget,然后立即显示子widget的尺寸,居然是640x480,但在实际界面上,明明是填满了这个父widget。如果QGridlayout增加第二个子widget,第一个子widget的size居然又变成了780x768,但在实际界面上,明明2个子widget左右平分了父widget。请问如何处理,这个子widget的尺寸才会更新。我试过update,updategeometry,都不行。
以下代码:
//设置一个groupbox作为父widget
gridGroupBox = new QGroupBox(tr("Grid layout"));
gridGroupBox->setFixedSize(800,800);
gridGroupBox->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
layout = new QGridlayout;
gridGroupBox->setLayout(layout);
然后弄两个按钮来向这个Layout里分别插入两个QTextEdit:
void Dialog::onButton0(bool is_toggled)
{
Editor1 = new QTextEdit;
Editor1->setPlainText(tr("editor1 "
"grid layout."));
// Editor1->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
if(is_toggled)
{
layout->addWidget(Editor1,0,0);
qDebug()
#1 [初九利恒 02-16 08:58]
新发现是必须要调用一下->show(),尺寸才更新