QMessageBox自行设计对话框

使用QMessageBox,我们可以直接使用其中的静态方法,如information(),warning()等。但是有时候我们希望自行设计对话框,但又不是建立一个新的UI文件,这时我们可以使用一下方法:

QMessageBox msgBox;
msgBox.setWindowTitle("");             //设置窗口名
msgBox.setText("");                        //设置文本
msgBox.setInformativeText("");      //设置提示文本
msgBox.setStanderButtons(QMessageBox::Discard | QMessageBox::Cancel);  //加入按钮
msgBox.setButtonText(QMessageBox::Discard,"");    //设置按钮文本
msgBox.setDefaultButton(QMessageBox::Discard);   //设置缺省按钮
int ret = msgBox.exec();          //模态对话框,并获得按键值
//int ret = msgBox.show();         //非模态对话框
switch(ret)
{
        case QMessageBox::Discard:
                 //do something;
        case QMessageBox::Cancel:
                //do something;
}

这样我们就自行创立了一个对话框,注:
(1)information(),warning()等方法是有返回值的,能获得按键值,代码中也实现了这一功能。
(2)模态对话框(.exce()):在对话框弹出期间,用户不可以切换同程序下的其它窗口,直到该对话框被关闭,warning()方法达到同一效果。
(3)非模态对话框(.show()):控制权即刻返回给调用函数,可以切换其他窗口,information()方法达到同一效果。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容