【发布时间】:2015-11-26 18:53:03
【问题描述】:
我有非常具体的情况。我想将QAction 放入QToolbar 并达到以下行为:
- 可通过图标检查
QAction。 - 右侧经典箭头,用于显示菜单
- 按此箭头,我的
QDialog应该会出现在屏幕上,而不是像QMenu一样
现在我对一起实现所有这些东西有点困惑。
现在我已经创建了 QAction 并将其添加到工具栏,还创建了一个空的 QMenu,因为我不知道如何以另一种方式添加“下拉”箭头。
所以,我还将我的插槽连接到 QMenu aboutToShow() 信号,现在,我可以在 QMenu 显示之前创建我的对话框和 exec() 它。但这里出现了主要问题:在我用我的对话框完成所有操作后,单击 OK 按钮 QMenu 试图出现,但由于它是空的,它没有显示任何内容,并且只有在我左键单击 somwhere 以“关闭”后,进一步的操作才可用“这个菜单。
有什么方法可以强制 QMenu 不显示或可以从 QMenu 继承并重新实现其行为(我尝试使用 exec() show() popup() 的方法来实现这种技巧QMenu 从它子类化之后,但是当菜单出现在屏幕上时,它们都没有被调用)?
【问题讨论】:
标签: qt user-interface qdialog qmenu