笔记:QT的模态对话框、非模态对话框及QLineEdit的验证器和补全器

1.调用模态对话框

(1)调用dialog->exec()方法;

1 QDialog dialog;
2 dialog.exec();
3 int x = 4+5;//dialog窗口关闭后才会执行

(2)dialog->setModal(true);

    dialog->show();

1 QDialog *dialog = new QDialog(this);
2 dialog->setModal(true);
3 dialog->show();
4 int x = 4+5;//不用等dialog关闭,执行完dialog->show()马上执行
5 ...
6 delete dialog;

2.调用非模态对话框

(1)dialog->show();

3.如何在关闭窗口同时销毁窗口

只有当剩下最后一个主界面时调用close()时程序才会退出,其他情况下界面只是隐藏,要想close()的同时销毁窗口,调用dialog->setAttribute(Qt::WA_DeleteOnClose, true);

4.setWindowModality(Qt::WindowModality windowModality)

Qt::NonModal:非模态;

Qt::WindowModal:阻塞父窗口和所有祖先窗口及它们的子窗口;

Qt::ApplicationModal:阻塞整个应用程序。

5.QLineEdit的验证器

1 QLineEdit edit;
2 QValidator *validator = new QIntValidator(10, 100, &edit);
3 edit.setValidator(validator);

 6.QLineEdit的补全器

1 QLineEdit edit;
2 QStringList words;
3 words << "Hello" << "World" << "欢迎";
4 QCompleter *completer = new QCompleter(words, &edit);
5 completer->setCaseSensitivity(Qt::CaseInsensitive);
6 edit.setCompleter(completer);
posted @ 2016-03-14 22:36  aloog  阅读(370)  评论(0编辑  收藏  举报