繁体   English   中英

在pyqt中更改QCheckBox的文本颜色

[英]Change text color of QCheckBox in pyqt

我想更改QCheckBox旁边的文本的颜色。 我已经尝试了以下两个问题:

如何在Qt中更改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
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 ,其中由于某种原因,文本颜色不会更改。 它适用于所有其他样式。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM