如何改变QMenu撕裂的位置?

时间:2015-07-10 11:34:21

标签: qt qmenu

是否有可能改变QMenu撕裂分控制的位置,将其置于右侧?

我想这样做:

On left: classic default appeearance. On right : what I want to achieve.

  • 撕下部分为红色
  • 左侧:经典默认外观。
  • 正确:我想要实现的目标。

我尝试用这样更改样式表:

QMenu::tearoff {
    background-color:red;
    subcontrol-position: right bottom;
}

但没有成功。有人有想法吗?我想避免完全重新实现自定义QMenu。

1 个答案:

答案 0 :(得分:1)

经过反复试验,我找到了一个非常简单的解决方案。

您只需要为QMenu设置一个新布局,因此QMenu包含QPushButton(您要填写的那个),在右侧(或您想要的任何地方),只需插入一个show()作为撕掉。单击该按钮时,您可以使用VBA显示另一个菜单(包含相同的操作)。