2

の横にあるテキストの色を変更したいQCheckBox。私はこれらの2つの質問を試しました:

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で、何らかの理由でテキストの色が変わりません。他のすべてのスタイルで機能しました。

4

1 に答える 1