[QT]QMessageBox 的四种用法

http://blog.csdn.net/liukang325/article/details/13768481

之前的一些QT笔记,整理一下。

  1. void MainWindow::on_info_clicked()  
  2. {  
  3. //info  
  4. QMessageBox::information(this“Title”“Text”);  
  5. }  
  6.   
  7. void MainWindow::on_question_clicked()  
  8. {  
  9. //question  
  10. QMessageBox::StandardButton reply;  
  11. reply = QMessageBox::question(this“Title”“Do you like cat?”, QMessageBox::Yes | QMessageBox::No);  
  12. if(reply == QMessageBox::Yes)  
  13. {  
  14. }  
  15. else  
  16. {  
  17. }  
  18. }  
  19.   
  20. void MainWindow::on_warning_clicked()  
  21. {  
  22. //warning  
  23. QMessageBox::warning(this“Title”“Text”);  
  24. }  
  25.   
  26. void MainWindow::on_pushButton_4_clicked()  
  27. {  
  28. QMessageBox::question(this“Title”“Do you like cat?”, QMessageBox::YesToAll|QMessageBox::Yes|QMessageBox::No);  
  29. }  
void MainWindow::on_info_clicked()
{
//info
QMessageBox::information(this, "Title", "Text");
}

void MainWindow::on_question_clicked()
{
//question
QMessageBox::StandardButton reply;
reply = QMessageBox::question(this, "Title", "Do you like cat?", QMessageBox::Yes | QMessageBox::No);
if(reply == QMessageBox::Yes)
{
}
else
{
}
}

void MainWindow::on_warning_clicked()
{
//warning
QMessageBox::warning(this, "Title", "Text");
}

void MainWindow::on_pushButton_4_clicked()
{
QMessageBox::question(this, "Title", "Do you like cat?", QMessageBox::YesToAll|QMessageBox::Yes|QMessageBox::No);
}



  1. class MyMessageBox : public QObject  
  2. {  
  3. public:  
  4.     MyMessageBox();~MyMessageBox();  
  5.   
  6.     static void ChMessageOnlyOk_Information(QString info)  
  7.     {  
  8.         QMessageBox msg;  
  9.         msg.setWindowTitle(tr(”提示”));  
  10.         msg.setText(info);  
  11.         msg.setStyleSheet(”font: 14pt;background-color:rgb( 0,220, 0)”);  
  12.         msg.setIcon(QMessageBox::Information);  
  13.         msg.addButton(tr(”确定”),QMessageBox::ActionRole);  
  14.         msg.exec();  
  15.     }  
  16.   
  17.     static void ChMessageOnlyOk_Error(QString info)  
  18.     {  
  19.         QMessageBox msg;  
  20.         msg.setWindowTitle(tr(”提示”));  
  21.         msg.setText(info);  
  22.         msg.setStyleSheet(”font: 14pt;background-color:rgb(220, 0, 0)”);  
  23.         msg.setIcon(QMessageBox::Critical);  
  24.         msg.addButton(tr(”确定”),QMessageBox::ActionRole);  
  25.         msg.exec();  
  26.     }  
  27.   
  28.     static int ChMessageOkCancel(QString info)  
  29.     {  
  30.         QMessageBox msg;  
  31.         msg.setWindowTitle(tr(”提示”));  
  32.         msg.setText(info);  
  33.         msg.setStyleSheet(”color:rgb(220, 0, 0);font: 14pt”);  
  34.         msg.setIcon(QMessageBox::Information);  
  35.         msg.addButton(tr(”确定”),QMessageBox::ActionRole);  
  36.         msg.addButton(tr(”取消”),QMessageBox::ActionRole);  
  37.         return msg.exec();  
  38.     }  
  39. };  
  40.   
  41.   
  42.   
  43.   
  44. int ret = MyMessageBox::ChMessageOkCancel(tr(“是否继续?”));  
  45. if(1 == ret)  
  46. {  
  47.   
  48. }  
  49. else if(0 == ret)  
  50. {  
  51. }  
class MyMessageBox : public QObject
{
public:
    MyMessageBox();~MyMessageBox();

    static void ChMessageOnlyOk_Information(QString info)
    {
        QMessageBox msg;
        msg.setWindowTitle(tr("提示"));
        msg.setText(info);
        msg.setStyleSheet("font: 14pt;background-color:rgb( 0,220, 0)");
        msg.setIcon(QMessageBox::Information);
        msg.addButton(tr("确定"),QMessageBox::ActionRole);
        msg.exec();
    }

    static void ChMessageOnlyOk_Error(QString info)
    {
        QMessageBox msg;
        msg.setWindowTitle(tr("提示"));
        msg.setText(info);
        msg.setStyleSheet("font: 14pt;background-color:rgb(220, 0, 0)");
        msg.setIcon(QMessageBox::Critical);
        msg.addButton(tr("确定"),QMessageBox::ActionRole);
        msg.exec();
    }

    static int ChMessageOkCancel(QString info)
    {
        QMessageBox msg;
        msg.setWindowTitle(tr("提示"));
        msg.setText(info);
        msg.setStyleSheet("color:rgb(220, 0, 0);font: 14pt");
        msg.setIcon(QMessageBox::Information);
        msg.addButton(tr("确定"),QMessageBox::ActionRole);
        msg.addButton(tr("取消"),QMessageBox::ActionRole);
        return msg.exec();
    }
};




int ret = MyMessageBox::ChMessageOkCancel(tr("是否继续?"));
if(1 == ret)
{

}
else if(0 == ret)
{
}



  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
QMessageBox是一个用于显示消息框的Qt类,可以用于显示警告、错误、信息和询问等类型的消息框。下面是QMessageBox的基本用法: ```python from PyQt5.QtWidgets import QMessageBox # 显示信息框 QMessageBox.information(self, "标题", "内容") # 显示警告框 QMessageBox.warning(self, "标题", "内容") # 显示错误框 QMessageBox.critical(self, "标题", "内容") # 显示询问框 reply = QMessageBox.question(self, "标题", "内容", QMessageBox.Yes | QMessageBox.No) if reply == QMessageBox.Yes: print("点击了Yes按钮") else: print("点击了No按钮") ``` 其中,`self`表示所在的窗口对象,`"标题"`和`"内容"`分别为消息框的标题和内容。询问框需要通过`QMessageBox.question`方法获取用户的选择,返回值为用户点击的按钮类型,可以通过比较`QMessageBox.Yes`和`QMessageBox.No`来确定用户的选择。 另外,还可以通过设置不同的icon来显示不同类型的消息框,例如: ```python # 显示信息框 QMessageBox.information(self, "标题", "内容", QMessageBox.Ok, QMessageBox.Ok) # 显示警告框 QMessageBox.warning(self, "标题", "内容", QMessageBox.Ok, QMessageBox.Ok) # 显示错误框 QMessageBox.critical(self, "标题", "内容", QMessageBox.Ok, QMessageBox.Ok) # 显示询问框 reply = QMessageBox.question(self, "标题", "内容", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes) ``` 其中,第四个参数为标准按钮类型,第五个参数为默认按钮类型,通过设置不同的参数可以改变按钮的显示和默认选中的按钮。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值