python qt pyqt qss

python - Cómo cambiar el texto de QPushButton y el color de fondo



pyqt css (1)

Estoy usando el siguiente código para conectar QMenu a QPushButton . Cuando se hace clic en el botón, se muestra un menú desplegable con múltiples elementos del submenú.

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'')

Ahora, dependiendo de una condición, me gustaría personalizar la visualización de QPushButton dándole un texto y color de fondo. La siguiente línea de código (que se supone que cambia el color de fondo) no tiene efecto en QPushButton conectado a QMenu.

button.setStyleSheet(''QPushButton {background-color: #A3C1DA}'')

Me gustaría saber cómo cambiar el color de fondo de QPushButton , así como el color del texto del botón.


Además de algunas inconsistencias con la configuración del ejemplo de código, el color de fondo y el color del texto de un QPushButton funcionan bien con:

setStyleSheet(''QPushButton {background-color: #A3C1DA; color: red;}'')

Ejemplo (usando 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_()

resultados en: