您的位置:首页 > 编程语言 > Qt开发

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

2016-03-14 22:36 701 查看
1.调用模态对话框

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

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


(2)dialog->setModal(true);

dialog->show();

QDialog *dialog = new QDialog(this);
dialog->setModal(true);
dialog->show();
int x = 4+5;//不用等dialog关闭,执行完dialog->show()马上执行
...
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的验证器

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


6.QLineEdit的补全器

QLineEdit edit;
QStringList words;
words << "Hello" << "World" << "欢迎";
QCompleter *completer = new QCompleter(words, &edit);
completer->setCaseSensitivity(Qt::CaseInsensitive);
edit.setCompleter(completer);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: