我在文档中没有找到关于此的参考。
问问题
562 次
2 回答
2
您不能轻松地设置此“扩展”按钮的样式,因为该符号实际上是一个图标。
但是,您可以访问QToolButton
小部件以将图标设置为您喜欢的任何内容。在 PyQt4 中,您可以使用menubar.children()[0]
. 这应该与 PyQt5 一致。查看 Qt5源代码,似乎总是首先创建扩展图标,即使它没有显示,并且该children()
方法按照对象的创建顺序返回对象(此索引为 0)。
一旦你有了对 的引用QToolButton
,你就可以将图标设置为你喜欢的任何东西menubar.children()[0].setIcon(my_qicon)
(或类似的)。
于 2015-07-06T05:56:15.297 回答
0
由于这是 google 上用于修改“显示更多”图标的热门项目之一:
另一种选择是使用QToolbar
. 你可以做同样的事情,除了第一个孩子是一个布局,第二个是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()
于 2016-10-21T17:16:07.413 回答