qt中buttons()与button()的区别

 我来答
cooke1234
2013-08-15 · TA获得超过6861个赞
知道大有可为答主
回答量:4617
采纳率:72%
帮助的人:3578万
展开全部
有好几个类中有buttons()和button(),不知道你指的是不是鼠标事件

Qt::MouseButton QMouseEvent::button () const
返回产生事件的按钮,鼠标move事件总是返回 Qt::NoButton

Qt::MouseButtons QMouseEvent::buttons () const

返回产生事件的按钮状态。 按钮状态是Qt::LeftButton, Qt::RightButton, Qt::MidButton的或运算组合。对于鼠标move事件,函数返回当前按下的所有按钮。对于鼠标按下或双击事件,返回导致事件发生的按钮。对于鼠标释放事件,不包含导致事件发生的按钮。
追问
就是对事件不是很了解,在click事件中用的是button(),在move事件中用的是buttons(),不能通用吗
追答
假设你的鼠标左键已经按下。
如果移动鼠标,会发生的move事件,button返回Qt::NoButton,buttons返回LeftButton。
再按下了右键,会发生press事件,button返回RightButton,buttons返回LeftButton|RightButton
再移动鼠标,会发生move事件,button返回Qt::NoButton,buttons返回LeftButton|RightButton
再松开左键,会发生Release事件,button返回LeftButton,buttons返回RightButton
也就是说,button返回“那个按钮发生了此事件”,buttons返回"发生事件时哪些按钮还处于按下状态"
匿名用户
2015-08-07
展开全部
  qt中对于buttons()与button()的官方介绍如下
  Qt::MouseButton QMouseEvent::button () const
  返回产生事件的按钮;
  Qt::MouseButtons QMouseEvent::buttons () const
  返回产生事件的按钮状态;
  前者是鼠标move事件总是返回 Qt::NoButton,后者函数返回当前按下的所有按钮。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
何必论邪正
2013-08-14 · 超过12用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:34.5万
展开全部
The QToolButton class provides a quick-access button to commands or options, usually used inside a QToolBar.
A
tool button is a special button that provides quick-access to specific
commands or options. As opposed to a normal command button, a tool
button usually doesn't show a text label, but shows an icon instead.
追问
Qt::MouseButton QMouseEvent::button()和Qt::MouseButtons QMouseEvent::buttons ()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式