Как исправить неверное изменение размера в метке qt? - PullRequest
0 голосов
/ 23 марта 2019

В настоящее время я учусь использовать 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);
}

Я понятия не имею, как решить эту проблему.Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 26 марта 2019
QWidget::setMinimumSize  

должен сделать работу

https://doc.qt.io/qt-5/qwidget.html#setMinimumSize-1

...