在菜单中图标和文本之间添加垂直分隔符

3
我有一个关于如何在菜单中的图标和文本之间添加分隔符的问题。如果您有任何想法,那将非常有帮助。这就是我需要做的事情:从一个按钮打开一个菜单,并像图片中一样添加分隔符。

看起来更像是一个菜单栏 文档。在菜单中,您可以通过QAction添加图标和文本。 - Elad Joseph
是的,你说得对!这是一个 QMenubar :) 谢谢 - syedelec
2个回答

6
如果您正在使用一个 QMenu() 对象,您可以使用 addSeparator() 方法来添加分隔线:
menu = QMenu()
add_action = menu.addAction("Add")
menu.addSeparator()
rename_action = menu.addAction("Rename")

我尝试过,但它只是水平分隔符,是否可能使其垂直。这是我得到的结果:http://www.zupmage.eu/i/ZjvAjLmSFx.jpg - syedelec

1
如果您使用 QWidget 自己创建菜单,那么很容易。只需实现 paintEvent 并在需要时绘制线条即可。

事实上,我正在动态更改菜单(添加和删除操作),因此如果每次添加或删除项目时都绘制线条,将会很复杂。 - syedelec
那要看你实现绘图的通用性如何...因为菜单会在每次有变化时调用paintEvent。如果你知道条目数量,这将是件容易的事情。 - Aaron

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接