Python 更改pyqt中QCheckBox的文本颜色

Python 更改pyqt中QCheckBox的文本颜色,python,pyqt,pyqt4,qcheckbox,Python,Pyqt,Pyqt4,Qcheckbox,我想更改QCheckBox旁边文本的颜色。 我试过这两个问题: 这些解决方案似乎都不适合我 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

我想更改
QCheckBox
旁边文本的颜色。 我试过这两个问题:

这些解决方案似乎都不适合我

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

它起作用了。默认样式为
sgi
,其中,由于某种原因,文本颜色不会更改。它适用于所有其他样式。

您可以使用样式表:

for chbox in self.chkbox:
    chbox.setStyleSheet("color: red")

“QCheckBox”对象没有属性“SetStyleSheet”,在我尝试时抛出。所有方法的第一个字母应该是小写。对不起,我应该注意到了!它仍然不起作用。文本颜色不变。发布最小工作示例,以便我可以调试它。我已将其添加到问题中。最小代码似乎工作正常。@saileshriram文本的颜色对我来说没有变化。只有工具提示变为红色。调色板示例不完整:您还必须执行
self.chkbox[i]。设置调色板(p)
@Tanay。你在什么平台上测试这个?@Ekhumaro我添加了setPalette行,但仍然没有显示。我正在使用Ubuntu 12.04。
for chbox in self.chkbox:
    chbox.setStyleSheet("color: red")