Qt msgBox 快捷版

使用

1 int iRet = msgBox(pos, tr("警告")
2                       , tr("确定要删除当前选中的行吗?")
3                       , tr("确定"), tr("取消"), 1, 1);
4     if (1 == iRet) return;  // 0:确定 1:取消

 

 

实现

 1 //在指定的点topLeft 显示 MessageBox
 2 int msgBox(const QPoint& topLeft
 3         , const QString &title
 4         , const QString &text
 5         , const QString &button0
 6         , const QString &button1
 7         , const int &defaultButton
 8         , const int &escapeButton
 9         , QMessageBox::Icon icon
10         , QWidget *parent)
11 {
12     QMessageBox msg(icon, title, text, QMessageBox::NoButton, parent
13                     , Qt::WindowStaysOnTopHint | Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint);
14 
15     QPushButton* pBtn0 = NULL;
16     QPushButton* pBtn1 = NULL;
17 
18     pBtn0 = msg.addButton(button0, QMessageBox::NoRole);   //id = 0
19     if (!button1.isEmpty())
20     {
21         pBtn1 = msg.addButton(button1, QMessageBox::NoRole);   //id = 1
22     }
23 
24     if (defaultButton == 0) msg.setDefaultButton(pBtn0);
25     if (!button1.isEmpty())
26     {
27         if (defaultButton == 1) msg.setDefaultButton(pBtn1);
28     }
29 
30     if (escapeButton == 0) msg.setEscapeButton(pBtn0);
31     if (!button1.isEmpty())
32     {
33         if (escapeButton == 1) msg.setEscapeButton(pBtn1);
34     }
35 
36     if (topLeft.x() >= 0 && topLeft.y() >= 0) msg.move(topLeft);
37 
38     return msg.exec();  //返回用户点击的 按钮的 id
39 }

 

 

 

转载于:https://www.cnblogs.com/lt47/p/5885242.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值