首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用QToolButton检查QMenu

使用QToolButton检查QMenu
EN

Stack Overflow用户
提问于 2012-04-04 18:56:01
回答 1查看 1.1K关注 0票数 0

我正在设计一个小部件,它有一个按钮网格。单击这些按钮时,我希望这些按钮为用户提供3种选择(最好是在一个小的下拉菜单中),它们可以从中选择。当他们选择三个选项中的一个时,我希望这个按钮被选中(也就是说,保持按下)。我希望与这3种选择相关联的QAction能够知道单击了哪个按钮,这样我就可以记录在网格中单击了哪个按钮。网格中的每个按钮都需要是排他性的,并且当被选中时。所有按钮的3种选择都是相同的。

我首先从QButtonGroup和QGridLayout中的QPushButtons开始。我可以让按钮成为我想要的独家。当我将按钮从QPushButton更改为QToolButton并添加下拉菜单时,发生了两件事:

  • 从菜单中选择一个项目时,按钮不会像我所希望的那样保持按压状态。
  • I似乎看不到菜单操作被选择的方式,所以我无法记录选择哪个按钮。

对如何实现我正在寻找的功能有任何想法吗?

编辑:

几个澄清要点:

can网格中的

  • 每一个按钮代表一个人。
  • 每个按钮上的下拉列表允许您选择此人当前正在执行的操作。
  • 一次只能有一个人在做某事。因此,一次只能按下整个网格中的一个按钮。
  • 按钮下拉菜单中的项目在被选中时应该被选中,并且这些项目需要是排他性的,所以如果一个按钮被单击两次,下拉菜单中的一个新的选中菜单项应该取消选中前一个菜单项。
  • 当选择按钮下拉菜单中的项目时,该菜单应消失,按钮应显示为下压。
  • I需要记录单击的按钮(即行和列)以及从按钮下拉菜单中选择的选项。因此,不知何故,菜单项信号/插槽需要知道哪个按钮被点击了。但是,QToolButton::setMenu()不会将菜单的所有权传递给QToolButton,因此我不确定如何使QActions of QMenu中的信号/插槽知道选择了哪个按钮。
EN

回答 1

Stack Overflow用户

发布于 2012-07-09 21:19:26

QObject::发送方将告诉您QObject发出了什么信号

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10017527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档