Как изменить текст и цвет фона QPushButton
Я использую следующий код для подключения 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
, предоставив ему текст и цвет фона. Следующая строка кода (который должен изменить цвет фона) не влияет на QPushButton
, подключенный к QMenu.
button.setStyleSheet('QPushButton {background-color: #A3C1DA}')
Я хотел бы знать, как изменить цвет фона QPushButton
, а также цвет текста кнопки.
Ответы
Ответ 1
Помимо некоторых несоответствий с вашим примером кода, цвет фона и цвет текста 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_()
приводит к:
![enter image description here]()
Ответ 2
Для тех, кто еще хочет изменить цвет кнопки с инструкцией
button.setStyleSheet('QPushButton {background-color: #A3C1DA}')
и не в состоянии сделать это, просто измените приведенную выше инструкцию, чтобы
button.setStyleSheet('QPushButton {background-color: #A3C1DA; border: none}')
И это изменит цвет кнопки, поэтому хитрость заключается в удалении границы