python - 更改pyqt中QCheckBox的文本颜色

标签 python pyqt pyqt4 qcheckbox

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

how to change QCheckBox text label color in Qt?

Changing QCheckBox text color

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

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

当我执行此操作时,工具提示 的颜色更改为红色,但复选框旁边的文本保持黑色。

编辑 2:如果我添加该行

app.setStyle('cleanlooks')

它有效。默认样式是 sgi,由于某种原因,文本颜色不会改变。它适用于所有其他样式。

最佳答案

您可以使用样式表来做到这一点:

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

关于python - 更改pyqt中QCheckBox的文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31176995/

相关文章:

python - 如何选择两个 numpy 索引的范围?

Python:如何找到连接间隔开始和结束的最长连续间隔

python - 如何使用Python/PyQT/Win32获取Windows任务栏的高度

python - 使用 QTimer 将参数传递给插槽

Python/ADOX : 'The specified module could not be found.' (win32 extensions)

javascript - 如何从应用程序向 PyQtWebkitView javascript 发出信号?

python - 布局在执行 pyqt 时不起作用

python - 为什么 PyQt 在我的 Anaconda (Spyder) 窗口标题栏中显示 "not responding"?

python - 单击最小化按钮时触发pyqt事件

python - 如何根据日期条件从多索引中删除特定列