在Qt中创建自定义上下文菜单

时间:2013-01-23 22:42:42

标签: drop-down-menu menu qt4

我想为我的应用程序创建一个特殊的上下文菜单。 菜单可能与标准上下文菜单具有不同的形状和行为。

例如,我想将它们画成圆形或能够右键单击菜单项,打开另一个菜单关于该菜单项。

当然,我想尽可能地将它们与当前框架集成,即基于动作的菜单等(但我不确定哪些属性应该有一个“适合”的菜单Qt框架)。

所以,我的问题是,我应该从哪里开始实现这个? 我看到QMenu继承自QWidget,所以它是否足以为它实现自定义QWidget?我应该继承QMenu并使用自定义图形和事件处理来扩展它吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

我认为你要求很多QMenu来定制它。我建议你自己创建一个派生自QWidget的类并设置它的剪辑位图(QWidget::setMask)并自己实现paintEvent。从QAbstractButtonQPushButton派生来获取按钮按下处理可能会更好。 QActions在这里不会给你太多。

相关问题