到目前为止,我只能自定义按钮文字颜色:
button = QtGui.QPushButton()
palette = QtGui.QPalette(button.palette())
palette.setColor(QtGui.QPalette.ButtonText, QtGui.QColor('blue'))
button.setPalette(palette)
但是如何更改按钮背景颜色?
这些都不会改变按钮背景颜色:
palette.setColor(QtGui.QPalette.Foreground, QtGui.QColor('red'))
palette.setColor(QtGui.QPalette.Button, QtGui.QColor('red'))
palette.setColor(QtGui.QPalette.Light, QtGui.QColor('red'))
palette.setColor(QtGui.QPalette.Midlight, QtGui.QColor('red'))
palette.setColor(QtGui.QPalette.Dark, QtGui.QColor('red'))
palette.setColor(QtGui.QPalette.Mid, QtGui.QColor('red'))
palette.setColor(QtGui.QPalette.Text, QtGui.QColor('red'))
palette.setColor(QtGui.QPalette.BrightText, QtGui.QColor('red'))
palette.setColor(QtGui.QPalette.ButtonText, QtGui.QColor('red'))
palette.setColor(QtGui.QPalette.Base, QtGui.QColor('red'))
palette.setColor(QtGui.QPalette.Background, QtGui.QColor('red'))
palette.setColor(QtGui.QPalette.Midlight, QtGui.QColor('red'))
palette.setColor(QtGui.QPalette.Shadow, QtGui.QColor('red'))
palette.setColor(QtGui.QPalette.Highlight, QtGui.QColor('red'))
palette.setColor(QtGui.QPalette.HighlightedText, QtGui.QColor('red'))
答案 0 :(得分:2)
你需要设置正确的角色"并附加" setAutoFillBackground()":
button = QtGui.QPushButton()
palette = self.button.palette()
role = self.button.backgroundRole() #choose whatever you like
palette.setColor(role, QColor('red'))
button.setPalette(palette)
self.button.setAutoFillBackground(True)