2017-08-16 54 views
-1

私はPyQtを初めて使用しています。私は背景とテキストの色が異なるさまざまなアイテムを表示するリストをデザインしたいと思います。リストに項目を追加できましたが、異なる色を設定することはできませんでした。pyqt4:QListWidget:さまざまなテキストと背景色を異なるアイテムに動的に設定する方法

from PyQt4 import QtCore, QtGui 

try: 
    _fromUtf8 = QtCore.QString.fromUtf8 
except AttributeError: 
    def _fromUtf8(s): 
     return s 

try: 
    _encoding = QtGui.QApplication.UnicodeUTF8 
    def _translate(context, text, disambig): 
     return QtGui.QApplication.translate(context, text, disambig, _encoding) 
except AttributeError: 
    def _translate(context, text, disambig): 
     return QtGui.QApplication.translate(context, text, disambig) 

class Ui_MainWindow(object): 
    def setupUi(self, MainWindow): 
     MainWindow.setObjectName(_fromUtf8("MainWindow")) 
     MainWindow.resize(786, 552) 
     self.mylist = QtGui.QListWidget(self.centralwidget) 
     self.mylist.setObjectName(_fromUtf8("mylist")) 


     self.mylist.addItem("item1") 


     self.mylist.addItem("item2") 

if __name__ == "__main__": 
    import sys 
    app = QtGui.QApplication(sys.argv) 
    MainWindow = QtGui.QMainWindow() 
    ui = Ui_MainWindow() 
    ui.setupUi(MainWindow) 
    MainWindow.show() 
    sys.exit(app.exec_()) 

上記のマイコードは、mylistのitem1とitem2という項目に追加されました。私は背景色とテキストの色をitem1青と白、item2赤と黒に設定したい。どうすればいい?

+0

はいSIRを、それが –

答えて

1

QListWidgetItemクラスがsetBackground()があります

あなたのケースでは
QListWidgetItem.setBackground(your_color) 

self.mylist.item(0).setBackground(QtCore.Qt.blue) 
# self.mylist.item(0).setBackground(QtGui.QColor("blue")) 
# self.mylist.item(0).setBackground(QtGui.QColor(0, 0, 255)) 
self.mylist.item(1).setBackground(QtCore.Qt.white) 
# self.mylist.item(1).setBackground(QtGui.QColor("white")) 
# self.mylist.item(1).setBackground(QtGui.QColor(255, 255, 255)) 
+0

感謝の多くを働いています。それは働いている。テキスト(フォント)の色を設定する方法を教えてください –

+0

フォントの色が変更されていません –

+0

setTextColorが機能しています。ご協力ありがとうございました。 –

関連する問題