QT模态对话框用法
2013-04-13 17:37
465 查看
QT弹出模态对话框做法:
1、新建UI文件时,一定要选择基类是QDialog的,我的选择是:Dialog without Buttons(),如下图:
2、然后在使用的时候:
MyDialog dlg(this);
dlg.exec();
如果不加this,则会在任务管理器里面产生一个新的EXE。
3、如果对话框的标题是自定义,不想使用系统的标题,这时候需要在代码中加入:
setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint );
setAttribute(Qt::WA_TranslucentBackground);
设置窗口标志时一定要加:Qt::Dialog,否则对话框弹出后不是以模态对话框的形式弹出的,会变成非模态对话框。
附:模态对话框自定义标题,且带透明阴影边框:
主要思想:
1、对话框上放一个Widget控件,这个Widget用来存放背景图片;
2、把对话框设置成无标题、无最小化按钮样式,并将背景完全透明化;
在对话框类,初始化加入:
setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint );
setAttribute(Qt::WA_TranslucentBackground);
在UI文件中设置Widget背景图,这个图是一个带阴影边框的图片:
#widget{border-image:url(:/images/bk.png)}
1、新建UI文件时,一定要选择基类是QDialog的,我的选择是:Dialog without Buttons(),如下图:
2、然后在使用的时候:
MyDialog dlg(this);
dlg.exec();
如果不加this,则会在任务管理器里面产生一个新的EXE。
3、如果对话框的标题是自定义,不想使用系统的标题,这时候需要在代码中加入:
setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint );
setAttribute(Qt::WA_TranslucentBackground);
设置窗口标志时一定要加:Qt::Dialog,否则对话框弹出后不是以模态对话框的形式弹出的,会变成非模态对话框。
附:模态对话框自定义标题,且带透明阴影边框:
主要思想:
1、对话框上放一个Widget控件,这个Widget用来存放背景图片;
2、把对话框设置成无标题、无最小化按钮样式,并将背景完全透明化;
在对话框类,初始化加入:
setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint );
setAttribute(Qt::WA_TranslucentBackground);
在UI文件中设置Widget背景图,这个图是一个带阴影边框的图片:
#widget{border-image:url(:/images/bk.png)}
相关文章推荐
- QT的模态对话框与非模态对话框用法
- QT模态对话框及非模态对话框学习
- QT-模态对话框与非模态对话框笔记
- Qt 模态对话框与非模态对话框及生命周期
- QT 模态对话框和非模态对话框
- qt学习四部曲(Console;QByteArray;模态对话框;多线程及事件通信 )
- Qt 4的模态与非模态对话框用法总结
- JS对话框 JS模态对话框 showModalDialog用法详解
- QT模态对话框
- Qt对话框_模态/非模态
- Qt 模态对话框与非模态对话框及生命周期
- QT中模态对话框与非模态对话框
- Qt 模态对话框与非模态对话框及生命周期
- QT 模态对话框和非模态对话框
- QT模态弹出对话框
- QT模态对话框及非模态对话框学习
- Qt按ESC关闭模态对话框不触发closeEvent()问题解析
- QT模态对话框及非模态对话框
- Bootstrap模态对话框用法简单示例
- QT-文件选择对话框的模态与非模态