我想为我的应用程序创建一个特殊的上下文菜单。 菜单可能与标准上下文菜单具有不同的形状和行为。
例如,我想将它们画成圆形或能够右键单击菜单项,打开另一个菜单关于该菜单项。
当然,我想尽可能地将它们与当前框架集成,即基于动作的菜单等(但我不确定哪些属性应该有一个“适合”的菜单Qt框架)。
所以,我的问题是,我应该从哪里开始实现这个? 我看到QMenu继承自QWidget,所以它是否足以为它实现自定义QWidget?我应该继承QMenu并使用自定义图形和事件处理来扩展它吗?
谢谢!
答案 0 :(得分:3)
我认为你要求很多QMenu
来定制它。我建议你自己创建一个派生自QWidget
的类并设置它的剪辑位图(QWidget::setMask
)并自己实现paintEvent
。从QAbstractButton
或QPushButton
派生来获取按钮按下处理可能会更好。 QActions在这里不会给你太多。