我的主窗口下有三个小部件。我设计了我的程序,每个小部件都将由一个类控制。
在过去的两个小时里,我浪费时间为其中一个小部件安装了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();
}
仅仅让布局的父级成为主窗口小部件是不够的。您还必须明确设置小部件的布局。
在显示小部件之前添加以下行:
this->setLayout(gridLayout);