QT初窥续

看QT的文档,我有些小小的纠结。

 

因为很多东西都没看明白,可能是qt已经被封装的很强大了,想要弄明白就需要花更多的时间去体会他的用意了。

 

我的每一次收获,还得感谢网友们对我的热心指导~~~

 

 

 再看Qt Namespace时,我们经常会看到

enum Qt::MouseButton
flags Qt::MouseButtons

这样的组合,enum我们很好理解,是个枚举类型。但是这个flags就让我看的晕乎了~~~

 

如果想彻底明白的话,还得好好研读一下QFlags这个类了,里面的Q_DECLARE_FLAGS ( FlagsEnum )这个宏起到了很大的作用。QT在其中做了一些工作~~~所以会让人费解!

 

============我是没看太明白,就不多说了======

 

 

 

Qt::MouseButtons 是从模版类派生的,是一个枚举的组合标志类, Qt::MouseButtons 可以包含Qt::MouseButton当中的一个或多个枚举值。通过  |    进行组合(这里主要进行的是运算)


Qt::MouseButton 是一个枚举类, 枚举类定义的变量只能为枚举值当中的一个,(按语法原理是这样,但排除强制转换情况) 不能是组合。

 

所以,我们可以通过

用==判断Qt::MouseButton的枚举值

用&判断Qt::MouseButtons的的量当中是否含有Qt::MouseButton的枚举值.(通过位运算进行的)

 

附:

Constant        Value

Qt::LeftButton0x00000001

Qt::RightButton

 

0x00000002

对于上面的或或者是与运算,应该不难理解吧~~~

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值