QT gui项目不会缩小到其父窗口小部件的ft

时间:2014-01-04 23:08:50

标签: c++ qt user-interface

我的主窗口下有三个小部件。我设计我的程序,每个小部件将由一个类控制。

最近2个小时我浪费时间将3个GUI元素放到其中一个小部件上。 我想要一个标签,一个订单项和一个按钮。我将它们放入网格布局中(在实际情况下,为了简单起见,我有3行,我在下面的示例中放置了1行)。并将网格布局的父级设置为我的类。 我期望这个GUI项目能够调整自己的大小并适合这个小部件中的一行,无论我尝试什么,我都无法成功。

简而言之,我希望这些项目能够缩小以适应小部件。但无法弄清楚如何做到这一点。有什么建议?

void
enviromentSetup::createDialogs()
{
    numberOfPoints  = new QLabel (QApplication::translate("leftPanel","numberOfPoints"));

    inputNumberOfPoints = new       
    QLineEdit(QString::number(st_environmentParamaters.number_of_points_in_line));

    maxElementsButton = new QPushButton("Max Elems");

    gridLayout = new QGridLayout(this);
    gridLayout->addWidget(numberOfPoints, 0, 0);
    gridLayout->addWidget(inputNumberOfPoints, 0, 1);
    gridLayout->addWidget(maxElementsButton, 0, 2);


    this->show();
}

1 个答案:

答案 0 :(得分:0)

仅仅将布局的父级作为主窗口小部件是不够的。您还必须明确设置窗口小部件的布局。

在显示窗口小部件之前添加以下行:

this->setLayout(gridLayout);