我使用以下代码将QMenu
连接到QPushButton
。单击按钮时,会显示包含多个子菜单项的下拉菜单。
button=QPushButton()
button.setText("Press Me")
font=QtGui.QFont()
button.setFont(font)
button.setSizePolicy(ToolButtonSizePolicy)
button.setPopupMode(QtGui.QToolButton.InstantPopup)
menu=QtGui.QMenu()
button.setMenu(menu)
menuItem1=menu.addAction('Menu Item1')
menuItem2=menu.addAction('Menu Item2')
现在根据条件,我想通过给它一个文本和背景颜色自定义QPushButton
显示。以下代码行(应该更改背景颜色)对连接到QMenu的QPushButton
没有影响。
button.setStyleSheet('QPushButton {background-color: #A3C1DA}')
我想知道如何更改QPushButton
的背景颜色以及按钮的文本颜色。
除了与您的代码示例设置的一些不一致之外,QPushButton
的背景颜色和文本颜色也适用于:
setStyleSheet('QPushButton {background-color: #A3C1DA; color: red;}')
示例(使用PySide):
from PySide import QtGui
app = QtGui.QApplication([])
button = QtGui.QPushButton()
button.setStyleSheet('QPushButton {background-color: #A3C1DA; color: red;}')
button.setText('Press Me')
menu = QtGui.QMenu()
menuItem1 = menu.addAction('Menu Item1')
menuItem2 = menu.addAction('Menu Item2')
button.setMenu(menu)
button.show()
app.exec_()
结果是:
对于那些仍然想要用指令改变按钮颜色的人
button.setStyleSheet('QPushButton {background-color: #A3C1DA}')
并且无法这样做,只需修改上面的指令即可
button.setStyleSheet('QPushButton {background-color: #A3C1DA; border: none}')
它会改变按钮颜色,所以诀窍是删除边框