[PyKDE] PyQt4: setPaletteBackgroundColor
V. Armando Sole
sole at esrf.fr
Wed Feb 8 18:36:19 GMT 2006
At 08:26 08/02/2006 -0900, Patrick Stinson wrote:
>Yeah, I"m getting the same problem. If you set the role color for the
>child widget, and set the role color for the parent widget, the child
>widget just gets the color for the parent widget. This means that you
>can't give child widgets their own color. For example, the following code
>shows no red
Funny this example works as expected:
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class AllGreen(QWidget):
def __init__(self):
QWidget.__init__(self)
layout = QVBoxLayout(self)
self.w1 = QLineEdit(self)
self.w2 = QLineEdit(self)
self.w3 = QLineEdit(self)
palette = self.palette()
role = self.backgroundRole()
palette.setColor(role, QColor('green'))
self.setPalette(palette)
palette1 = self.w1.palette()
role = self.w1.backgroundRole()
palette1.setColor(role, QColor('red'))
self.w1.setPalette(palette1)
palette2 = self.w2.palette()
role = self.w2.backgroundRole()
palette2.setColor(role, QColor('yellow'))
self.w2.setPalette(palette2)
palette3 = self.w3.palette()
role = self.w3.backgroundRole()
palette3.setColor(role, QColor('red'))
self.w3.setPalette(palette3)
layout.addWidget(self.w1)
layout.addWidget(self.w2)
layout.addWidget(self.w3)
def testWidget():
import sys
a = QApplication(sys.argv)
QObject.connect(a,SIGNAL("lastWindowClosed()"),a,SLOT("quit()"))
w = AllGreen()
w.show()
a.exec_()
if __name__ == "__main__":
testWidget()
************************************************************
V. A. Solé
ESRF - BLISS Group PHONE: +33 (0)4 76 88 25 84
BP 220 FAX: +33 (0)4 76 88 25 42
38043 - Grenoble Cedex
France
************************************************************
More information about the PyQt
mailing list