美文网首页
QMessageBox自行设计对话框

QMessageBox自行设计对话框

作者: MisakaMikotoSAM | 来源:发表于2016-04-12 15:48 被阅读409次

使用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()方法达到同一效果。

相关文章

网友评论

      本文标题:QMessageBox自行设计对话框

      本文链接:https://www.haomeiwen.com/subject/ywvilttx.html