【发布时间】:2019-08-14 02:55:49
【问题描述】:
我目前正在学习使用 Qt。所以我正在尝试创建一个使用 QtWidgets 的应用程序。但是,当我运行我的程序并手动调整获得的窗口大小时,显示的文本会被修剪(见图)
.
我使用的代码如下所示:
#include <QApplication>
#include "FenPrincipale.h"
using namespace std;
int main(int argc, char *argv[])
{
QApplication app(argc,argv);
FenPrincipale fenetre;
fenetre.show();
return app.exec();
}
而FenPrincipale 包含:
FenPrincipale::FenPrincipale()
{
QWidget mainFen;
QGroupBox *groupbox1 = new QGroupBox("Class definition", &mainFen);
QLineEdit *className = new QLineEdit;
QLineEdit *mother_className = new QLineEdit;
QFormLayout *class_def = new QFormLayout;
class_def->addRow("Class name", className);
class_def->addRow("Mother Class", mother_className);
groupbox1->setLayout(class_def);
QGroupBox *groupbox2 = new QGroupBox("Options", &mainFen);
QCheckBox *header_protect = new QCheckBox("Protect header against mutiple inclusions");
QCheckBox *constr_gen= new QCheckBox("Generate default constructor");
QCheckBox *destruct_gen= new QCheckBox("Generate a destructor");
QVBoxLayout *options_layout = new QVBoxLayout;
options_layout->addWidget(header_protect);
options_layout->addWidget(constr_gen);
options_layout->addWidget(destruct_gen);
groupbox2->setLayout(options_layout);
QVBoxLayout *main_layout = new QVBoxLayout;
main_layout->addWidget(groupbox1);
main_layout->addWidget(groupbox2);
this->setLayout(main_layout);
this->setWindowTitle("Zero Class Generator");
this->resize(400,450);
}
我不知道如何解决这个问题。谁能帮帮我?
【问题讨论】:
-
除此之外,您还使用本地范围的
QWidgetmainFen作为各种其他小部件的父级。当mainFen在构造函数末尾超出范围时,这将导致这些子小部件被删除。