如何使用 PyQt5 更改右箭头图标以访问 QMenuBar 中的隐藏菜单项?

How to change right-arrow icon to access hidden menu items in QMenuBar using PyQt5?

我在文档中没有找到关于此的参考资料。

您无法轻松设置此 "extension" 按钮的样式,因为该符号实际上是一个图标。

但是,您可以访问 QToolButton 小部件,将图标设置为您喜欢的任何图标。在 PyQt4 中,您可以使用 menubar.children()[0]。这应该和 PyQt5 一致。查看Qt5source code,似乎总是先创建扩展图标,即使不显示,children()方法returns对象按创建顺序(这是 0 的索引)。

一旦您引用了 QToolButton,您就可以使用 menubar.children()[0].setIcon(my_qicon)(或类似的)将图标设置为任何您喜欢的图标。

因为这是 google 上修改 "show more" 图标的首要项目之一:
另一种选择是使用 QToolbar。你可以做同样的事情,除了第一个 child 是一个布局,第二个是你想要的 QToolButton:

from qtpy import QtWidgets, QtGui
import sys

def call_back():
    print('pressed')

app = QtWidgets.QApplication([])

widget = QtWidgets.QWidget()
layout = QtWidgets.QGridLayout(widget)
toolbar = QtWidgets.QToolBar()
layout.addWIdget(toolbar)

# add some actions
for i in range(10):
    toolbar.addAction('test_{}'.format(i), call_back)

# change the icon, the first child is a layout!, the second it the toolbtn we want!
toolbar.children()[1].setIcon(QtGui.QIcon('path/to/image.png'))

widget.show()
app.exec_()
sys.exit()