Qt入门(对话框)
来源:互联网 发布:java报表 编辑:程序博客网 时间:2024/05/16 10:32
简介
- Qt 支持模态对话框和非模态对话框。其中,Qt 有两种级别的模态对话框:应用程序级别的模态和窗口级别的模态,默认是应用程序级别的模态。应用程序级别的模态是指,当该种模态的对话框出现时,用户必须首先对对话框进行交互,直到关闭对话框,然后才能访问程序中其他的窗口。窗口级别的模态是指,该模态仅仅阻塞与对话框关联的窗口,但是依然允许用户与程序中其它窗口交互。
- QDialog::exec()实现应用程序级别的模态对话框,使用QDialog::open()实现窗口级别的模态对话框,使用QDialog::show()实现非模态对话框。
- setAttribute()函数设置对话框关闭时,自动销毁对话框。实例:
dialog->setAttribute(Qt::WA_DeleteOnClose);
- QDialog::exec()是有返回值的,其返回值是QDialog::Accepted(确定)或者QDialog::Rejected(取消)
数据传递
- 模态对话框通过
dialog.result()
//此时不能设置WA_DeleteOnClose(关闭时销毁)属性 - 非模态对话框在关闭时可以调用QDialog::accept()或者QDialog::reject()或者更通用的QDialog::done()函数,所以我们可以在这里发出信号。
//!!! Qt 5// in dialog:void UserAgeDialog::accept(){ emit userAgeChanged(newAge); // newAge is an int QDialog::accept();}// in main window:void MainWindow::showUserAgeDialog(){ UserAgeDialog *dialog = new UserAgeDialog(this); connect(dialog, &UserAgeDialog::userAgeChanged, this, &MainWindow::setUserAge); dialog->show();}// ...void MainWindow::setUserAge(int age){ userAge = age;}
标准对话框 QMessageBox
-
-
- 使用QMessageBox的属性设置 API
QMessageBox msgBox;msgBox.setText(tr("The document has been modified."));msgBox.setInformativeText(tr("Do you want to save your changes?"));msgBox.setDetailedText(tr("Differences here..."));msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);msgBox.setDefaultButton(QMessageBox::Save);int ret = msgBox.exec();switch (ret) {case QMessageBox::Save: qDebug() << "Save document!"; break;case QMessageBox::Discard: qDebug() << "Discard changes!"; break;case QMessageBox::Cancel: qDebug() << "Close document!"; break;}
- 我们不能在函数指针中使用函数参数的默认值。这是 C++ 语言的限制:参数默认值只能使用在直接地函数调用中。当使用函数指针取其地址的时候,默认参数是不可见的
0 0
- Qt入门(对话框)
- QT入门笔记--创建对话框
- QT5入门之6 - Qt提示对话框
- Qt Create快速入门之----标准对话框
- qt入门——find对话框
- Qt入门之常用Qt标准对话框之QMessageBox
- 3)~Qt~find对话框
- Part 02 对话框(Qt)
- QT学习 之 对话框 (四) 字体对话框、消息对话框、文件对话框、进程对话框
- Qt对话框
- QT 对话框
- Qt 对话框
- Qt 对话框
- Qt-对话框
- qt对话框
- QT对话框
- QT对话框
- Qt入门-打开和保存文件对话框
- C++第二次作业2
- 剑指offer面试题 求数组中出现次数超过一半的数字
- HTTPS详解
- 无需Root实现Android手机屏幕流畅投影到电脑进行演示(附软件下载)
- [设计模式]——单例模式_doubleChecking
- Qt入门(对话框)
- ListView中pointToPosition()方法使用示例.
- jsp中文乱码解决
- Java解析处理JSON
- C语言声明字符串的两种方式
- MySQL常用的修改命令
- Android中使用Handler造成内存泄露的分析和解决
- 简单的mvc框架(三)
- HDU 5663 (莫比乌斯反演)