Qt-对话框

Qt中的对话框通过QDialog类实现,分为模态和非模态两种。模态对话框会阻塞同一应用的其他窗口输入,包括应用程序级别和窗口级别。非模态对话框则不会。在栈上创建QDialog可能造成闪烁或内存泄漏,通过设置parent指针或使用setAttribute()可避免问题。deleteLater()函数用于在事件循环结束时删除对象。
摘要由CSDN通过智能技术生成

Qt-对话框初识

如有问题请指正

在使用软件的时候,打开主窗口后,点击上面的某个组件可能会弹出对话框之类的东西,这个东西在Qt中使用QDialog类实现的。就像主窗口一样,我们通常也会涉及一个类继承QDialog。QDialog及其之类在创建的时候如果给起parent指针,那么在电脑底部的任务栏中不会有自己独立的位置,而若为NULL,那么在任务栏中将拥有自己独立的位置,也就是说指定parent指针时创建的是非顶层窗口,为NULL时创建的是顶层窗口。

对话框分为模态对话框和费模态对话框。

  • 模态对话框:会阻塞同一应用程序中其它窗口的输入。
  • 非模态对话框:不会阻塞同一应用程序中其他窗口的输入。

Qt支持这两种对话框,而且Qt中模态对话框分两种

  • 应用程序级别模态对话框(QDialog::exec):当该种模态的对话框出现时,用户必须首先对对话框进行交互,直到关闭对话框,然后才能访问程序中其他的窗口
  • 窗口级别模态对话框(QDialog::open):仅仅阻塞与对话框关联的窗口,但是依然允许于程序其他窗口交互。
  • 非模态对话框(QDialog::show)

以下是两种情况:

  • 在栈上创建一个变量 newDialog,parent指针为默认值(NULL),任务栏显示有窗口的新的位置,如下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值