2011-07-15 6 views
1

私はdisLDR1という名前のPyQtに背景色を変更しようとするとLEDを実装しようとしています。 QPaletteを使ってBackgroundRoleを変更しようとしています。しかし、Qt :: redと同等のものは何ですか?PyQtとQtDesigner

これは背景色を設定する正しい方法ですか、それとも他の方法ですか?

#!/usr/bin/python -d 

import sys 
from PyQt4 import QtCore, QtGui 
from main import Ui_Form 
from PyQt4.QtGui import QPalette 

class Top(QtGui.QMainWindow): 
    def __init__(self, parent = None): 
     QtGui.QWidget.__init__(self, parent) 
     self.ui = Ui_Form() 
     self.ui.setupUi(self) 
     for i in 1, 10: 
      self.setOff() 
      self.setOn() 
    def setOff(self): 
     self.pal = QPalette(self.ui.disLDR1.palette()) 
     self.pal.setColor(self.ui.disLDR1.backgroundRole(), <<<RED COLOR>>>) 
     self.ui.disLDR1.setPalette(pal) 
    def setOn(self): 
     self.pal = QPalette(self.ui.disLDR1.palette()) 
     self.pal.setColor(self.ui.disLDR1.backgroundRole(), <<<GREEN COLOR>>>) 
     self.ui.disLDR1.setPalette(pal) 


if __name__ == "__main__": 
    app = QtGui.QApplication(sys.argv) 
    myapp = Top() 
    myapp.show() 
    sys.exit(app.exec_()) 

編集:私はIn Qt, how do I set the background color of a widget like combobox or double spin box?からの助けを取るしようとしているが、QTの代わりに何を知らない::赤

答えて

1

あなたはthis linkで事前に定義されたQtの色オブジェクトのリストを見つけることができます。この場合は、QtCore.Qt.redQtCore.Qt.blueを使用するだけです。 QColorクラスを使用して任意の色を生成することもできます。

私は個人的には、最も簡単で最も強力な方法は、を使用することだと思っています。

+0

ありがとうございます。私はPythonのnoobであり、長い間、これで私の頭を叩いていました。 – user846016

関連する問題