【发布时间】:2015-07-02 06:28:05
【问题描述】:
我想更改QCheckBox 旁边的文本颜色。
我试过这两个问题:
how to change QCheckBox text label color in Qt?
这些解决方案似乎都不适合我。
p = QtGui.QPalette(self.chkbox[i].palette())
p.setColor(QPalette.Active,QPalette.WindowText, QtCore.Qt.red)
self.top_grid.addWidget(self.chkbox[i],i+2,0)
编辑 1:这是最小的工作代码:
from PyQt4 import QtGui, QtCore
import sys
def main():
app = QtGui.QApplication(sys.argv)
w = QtGui.QWidget()
top_grid = QtGui.QGridLayout()
chkbox=[]
chkbox.append(QtGui.QCheckBox('1'))
chkbox[0].setStyleSheet("color: red")
chkbox[0].setToolTip('<b>ABC</b>' )
top_grid.addWidget(chkbox[0],0,0)
w.setLayout(top_grid)
w.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
当我这样做时,ToolTip 的颜色变为红色,但复选框旁边的文本仍为黑色。
编辑2:如果我添加行
app.setStyle('cleanlooks')
它有效。默认样式是sgi,由于某种原因,文本颜色不会改变。它适用于所有其他样式。
【问题讨论】:
-
最小代码似乎可以正常工作。
-
@SaileshSriram 文本的颜色对我来说没有改变。只有工具提示变为红色。
-
调色板示例不完整:您还必须这样做
self.chkbox[i].setPalette(p)。 -
@Tanay。你在什么平台上测试这个?
-
@ekhumoro 我添加了 setPalette 行,但它仍然没有显示。我正在使用 Ubuntu 12.04。
标签: python pyqt pyqt4 qcheckbox