【发布时间】:2014-09-22 16:11:48
【问题描述】:
到目前为止,我只能自定义按钮文本颜色:
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'))
【问题讨论】:
-
这个怎么样? :
self.pushButton.setStyleSheet("background-color: red") -
这是 CSS。问题是如何在不使用它的情况下做同样的事情。
-
看起来像
pallet.setColorGroup? (pyqt.sourceforge.net/Docs/PyQt4/qpalette.html#setColorGroup) -
如何使用
setColorGroup?我找不到任何例子...... :( -
不确定...邮件列表上还有一个旧线程,它提供了设置按钮背景颜色的示例:riverbankcomputing.com/pipermail/pyqt/2006-February/012279.html