找回密码
 立即注册
收起左侧

ButtonRole有什么作用呢?

1
回复
8670
查看
[复制链接]
累计签到:2 天
连续签到:1 天
来源: 2017-12-6 09:27:45 显示全部楼层 |阅读模式
1Qter豆
最近在教程上面学习记事本,其中判断需要保存的时候自定义一个对话框,我的问题就是在调用
QPushButton *yesBtn =box.addButton(tr("是(&Y)"),QMessageBox::YesRole);传递了一个ButtonRole,这个枚举有什么用呢?因为我这个即使随便传,我在if (box.clickedButton() == yesBtn)            return save();        else if(box.clickedButton() == cancleBtn)            return false;这里调用正确的处理不就没问题了?我想知道这个参数的作用性这是官方文档给的This enum describes the roles that can be used to describe buttons in the button box. Combinations of these roles are as flags used to describe different aspects of their behavior.
主要就是说这个枚举在描述buttons时候承担不同的作用,结合这些角色使用|来连接的时候,可以有不同的作用,这些是可以理解的,比如在socket套接字的时候可以选择,FD_ACCEPT,FD_READ,FD_WRITE
所以我的问题就是这些枚举默认有什么作用,有例子最好了,因为上面代码我没有看到这里的枚举的作用。

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册
回复

使用道具 举报

累计签到:75 天
连续签到:1 天
2017-12-9 19:35:45 显示全部楼层
我的理解是ButtonRole代表了某类行为,StandardButtons则是具体的行为;
平时使用的QMessageBox::Ok,其背后是QMessageBox::AcceptRole;
QMessageBox::Save,表面上是Save,但实际是AcceptRole,具体的Save行为则需要开发者自己提供;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了