В соответствии с документами QT4 sizeGrip QDialog по умолчанию отключен, однако у меня он есть в любом случае. Поэтому я пытаюсь запустить setSizeGripEnabled (false), и у меня все еще есть. Итак, что-то еще должно быть причиной этого, но я не знаю что. Если это имеет значение, у моего диалогового окна в настоящее время нет родителя, потому что я его проектирую / тестирую. Я не понимаю, почему это должно иметь значение, но просто упомянуть об этом на случай, если это произойдет по какой-то причине. Вот мой полный код:
#include "QtGui"
//#include "clposter.h"
void add_new_account()
{
// CHECK::Make sure this process is destroyed when it's supposed to be
// TODO::connect signals to slots
//
// Create Dialog box to add user account
QDialog *accountDialog = new QDialog();
accountDialog->setModal(true);
accountDialog->setWindowTitle("Add New Account");
accountDialog->setSizeGripEnabled(false);
// Create Main Layout
QVBoxLayout *mainVBox = new QVBoxLayout(accountDialog);
QLabel *accountNameLabel = new QLabel(accountDialog);
accountNameLabel->setText("Account:");
QLineEdit *accountName = new QLineEdit(accountDialog);
accountName->setMinimumWidth(250);
QLabel *accountPassLabel = new QLabel(accountDialog);
accountPassLabel->setText("Password:");
QLineEdit *accountPass = new QLineEdit(accountDialog);
accountPass->setEchoMode(QLineEdit::Password);
// NOTE::May want to use standard dialog buttons instead
QPushButton *okButton = new QPushButton("Ok", accountDialog);
QPushButton *cancelButton = new QPushButton("Cancel", accountDialog);
// Connect signals to slots
// Set layout
// CHECK::Should accountDialog be the parent for these? I get a warning that they cannot be set
// because accountDialog already has a layout, which is expected, but I want them to
// automatically be deleted when accountDialog is so it makes sense to make it the parent.
QVBoxLayout *labelsVBox = new QVBoxLayout(accountDialog);
labelsVBox->addWidget(accountNameLabel);
labelsVBox->addWidget(accountPassLabel);
QVBoxLayout *lineEditsVBox = new QVBoxLayout(accountDialog);
lineEditsVBox->addWidget(accountName);
lineEditsVBox->addWidget(accountPass);
QHBoxLayout *topHBox = new QHBoxLayout(accountDialog);
topHBox->addLayout(labelsVBox);
topHBox->addLayout(lineEditsVBox);
QHBoxLayout *buttonHBox = new QHBoxLayout(accountDialog);
buttonHBox->addStretch();
buttonHBox->addWidget(okButton);
buttonHBox->addWidget(cancelButton);
mainVBox->addLayout(topHBox);
mainVBox->addLayout(buttonHBox);
accountDialog->setLayout(mainVBox);
// Show Dialog
accountDialog->exec();
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
//CLPoster mainWin;
//mainWin.show();
add_new_account();
return app.exec();
}