Qt入门学习之——对话框QDialog

目录

基本概念

模态对话框|非模态对话框

模态

非模态

消息对话框

错误提示

信息提示

询问提示

用法示例

警告提示

标准文件对话框

其他的对话框


基本概念

对话框是 GUI 程序中不可或缺的组成部分。很多不能或者不适合放入主窗口的功能组件都必须放在对话框中设置。对话框通常会是一个顶层窗口,出现在程序最上层,用于实现短期任务或者简洁的用户交互。

模态对话框|非模态对话框

前者在打开窗口时不能对其他窗口进行操作    (阻塞)

后者可以对其他窗口进行操作  (不会阻塞)

模态

在创建对话框之前 要包含头文件QDialog

这里显示的对话框出来 就只能在对话框内操作,点击其他地方都没反应

exe()起到的就是阻塞的功能,在对话框结束之前 这个”弹出对话框“都不会打印出来

非模态

先来看这段代码,这里成功创建了对话框,但是在点击新建后 对话框一闪而过就没了

这是为什么呢?

因为lambda表达是相当于一个函数,函数里面的东西在栈上,当函数执行完毕后,空间就被释放了,所以这里的对话框一闪而过

所以这里应该创建在堆区

这里也没有发生阻塞

还有一个问题,那就是这个堆区的数据,在执行结束后,现在并没有被释放,所以这里最好要加上释放内存的语句

这里的这两种方式都可以,先查函数接口麻烦就直接delete

消息对话框

QMessageBox

错误提示

第一个参数是父窗口,第二个参数是窗口标题,第三个参数是显示的文本

信息提示

询问提示

第一种用法

第二种

这里的第四个参数表示两个不同的选项

这里有查到所有的枚举值

第五个参数表示回车键默认的关联选项,从上面的截图可以看出默认关联的是第一个选项

这里设置成后面的Cancel

用法示例

警告提示

标准文件对话框

QFileDialog::getOpenFileName()返回值是选择的文件路径

其他的对话框

  1. QColorDialog:       选择颜色;
  2. QFileDialog:        选择文件或者目录;
  3. QFontDialog:        选择字体;
  4. QInputDialog:       允许用户输入一个值,并将其值返回;
  5. QMessageBox       模态对话框,用于显示信息、询问问题等;
  6. QPageSetupDialog:   为打印机提供纸张相关的选项;
  7. QPrintDialog:       打印机配置;
  8. QPrintPreviewDialog:打印预览;
  9. QProgressDialog:    显示操作过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晚安刘十三

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值