【Qt 学习笔记】Qt窗口 | 对话框 | 模态与非模态对话框的创建

简介: 【Qt 学习笔记】Qt窗口 | 对话框 | 模态与非模态对话框的创建

Qt窗口 | 对话框 | 创建模态及非模态对话框

一、模态对话框

1. 对话框简介

模态对话框是一种在图形用户界面中常见的弹出窗口,它与其他窗口交互时会将其他窗口锁定,只有在关闭模态对话框之后才能再次操作其他窗口。模态对话框通常用于提示用户进行必要的操作或提供额外的选项,以便用户在继续执行其他操作之前确认或选择。在模态对话框中,用户通常需要完成或取消对话框中的任务或操作,才能继续与应用程序进行交互。

2. 创建模态对话框

模态对话框,显示后⽆法与父窗口进行交互,是⼀种阻塞式的对话框。使用QDialog::exec()函数调用。参考文章【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框

void MainWindow::handle()
{
    //创建一个对话框
    Dialog * dialog = new Dialog(this);
    //设置窗口的大小
    dialog->resize(300,180);
    //设置窗口关闭
    dialog->setAttribute(Qt::WA_DeleteOnClose);
    //显示窗口
    dialog->exec();
}

二、非模态对话框

1. 对话框简介

非模态对话框是一种不需要阻塞用户操作的对话框。与模态对话框不同,用户可以在非模态对话框打开的同时继续对程序进行操作。这种对话框通常用于显示辅助信息、提供额外选项、展示进度等场景。非模态对话框的特点:不阻塞用户操作、可以并行打开多个对话框、弹出方式不影响主界面


2. 创建模态对话框

非模态对话框显示后独立存在,可以同时与父窗口进行交互,是⼀种非阻塞式对话框,使用

QDialog::show()函数调用。参考文章【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框

void MainWindow::handle()
{
    //创建一个对话框
    Dialog * dialog = new Dialog(this);
    //设置窗口的大小
    dialog->resize(300,180);
    //设置窗口关闭
    dialog->setAttribute(Qt::WA_DeleteOnClose);
    //显示窗口
    dialog->show();
}

三、两者的使用场景

1. 模态对话框

模态对话框的使用场景包括:

提示用户确认操作:模态对话框可以用于提示用户确认是否执行某个操作,例如删除文件、关闭窗口等。

获取用户输入:模态对话框可以用于获取用户输入,例如填写表单、输入密码等。

显示提示信息:模态对话框可以用于显示提示信息或警告信息,例如错误提示、操作成功提示等。

进行选择或设置:模态对话框可以用于用户进行选择或设置,例如选择文件、选择日期、设置选项等。

显示详细信息:模态对话框可以用于显示详细信息或查看详细内容,例如查看文件属性、查看订单详情等。

2. 非模态对话框

非模态对话框的使用场景包括:

  • 显示辅助信息:例如提示用户某个操作的结果或提醒用户注意事项。
  • 提供额外选项:例如在程序主界面上方打开一个工具条,供用户快速访问某些功能。
  • 展示进度:例如在后台执行某个操作时,可以打开一个对话框显示操作的进度和状态。
目录
相关文章
|
3月前
|
C++ Windows
Qt 窗口置顶
Qt 窗口置顶
112 1
|
3月前
|
开发者
【Qt 学习笔记】Qt系统相关 | Qt事件 | 事件的介绍及基本概念
【Qt 学习笔记】Qt系统相关 | Qt事件 | 事件的介绍及基本概念
204 4
|
3月前
【qt】视口和窗口坐标
【qt】视口和窗口坐标
31 0
|
3月前
|
算法 数据安全/隐私保护
【qt】启动窗口的玩法
【qt】启动窗口的玩法
30 0
|
3月前
【qt】多窗口开发
【qt】多窗口开发
60 0
|
3月前
【qt】自定义对话框(2)
【qt】自定义对话框(2)
25 0
|
3月前
【qt】自定义对话框(1)
【qt】自定义对话框(1)
33 0
|
4月前
|
数据安全/隐私保护 C++ 计算机视觉
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
181 1
Qt(C++)开发一款图片防盗用水印制作小工具