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

本文详细介绍了在Qt中创建并使用模态对话框和非模态对话框的方法,包括如何设置对话框的模态属性,如何在对话框关闭时销毁窗口,以及如何为文本输入框设置验证器和补全器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);

转载于:https://www.cnblogs.com/love-me-love-my-code/p/5277504.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值