[Qt][对话框][上]详细讲解
2024/11/16 13:43:01
来源:https://blog.csdn.net/qq_37281656/article/details/141160684
浏览:
次
关键词:[Qt][对话框][上]详细讲解
0.是什么?
- ⼀些不适合在主窗⼝实现的功能组件可以设置在对话框中
- 对话框通常是⼀个顶层窗⼝,出现在程序最上层,⽤于实现短期任务或者简洁的⽤⼾交互
- Qt中使用
QDialog
类表示对话框,该类继承自QWidget
QWidget
的各种属性方法,QDialog
也能使用
- 每次弹出一个
QDialog
,都是新创建的一个新的QDialog
1.对话框的分类
- 模态对话框:
- 显⽰后⽆法与⽗窗⼝进⾏交互,是⼀种阻塞式的对话框
- 使⽤
QDialog::exec()
调⽤ - 模态对话框适⽤于必须依赖⽤⼾选择的场合,⽐如消息显⽰,⽂件选择,打印设置等
QDialog dlg(this);
dlg.resize(299, 100);
dlg.exec();
- 非模态对话框:
- 显⽰后独⽴存在,可以同时与⽗窗⼝进⾏交互,是⼀种⾮阻塞式对话框
- 使⽤
QDialog::show()
调⽤ - ⾮模态对话框⼀般在堆上创建
- 因为如果创建在栈上时,弹出的⾮模态对话框就会⼀闪⽽过
- 同时还需要设置
Qt:WA_DeleteOnClose
属性,在关闭时,自动进行delete
- ⽬的:当创建多个⾮模态对话框时(如打开了多个⾮模态窗⼝),为了避免内存泄漏要设置此属性
- 模态对话框也可以设置,其作用就是在对话框关闭后自动
delete
- ⾮模态对话框适⽤于特殊功能设置的场合,⽐如查找操作,属性设置等
QDialog* dlg = new QDialog(this);
dlg->resize(200, 100);
dlg->setAttribute(Qt::WA_DeleteOnClose);dlg->show();
2.混合属性对话框
版权声明:
本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。
我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com