Hello,

seems like palettes are not working on QInputDialogs. Please see the script attached. Setting a palette on an QErrorMessage works fine, but not on a InputDialog. Using PyQt 4.6.2 on Windows XP 64bit SP2 with python 2.6.4 32bit.


from PyQt4 import QtCore
from PyQt4 import QtGui

class MyDlg (QtGui.QDialog):

    def __init__(self):
        QtGui.QDialog.__init__(self)
        self.resize(100,100)
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush)
        self.setPalette(palette)

        self.button=QtGui.QPushButton("push me!")
        self.verticalLayout = QtGui.QVBoxLayout(self)
        self.verticalLayout.addWidget(self.button)
        self.connect(self.button,QtCore.SIGNAL("clicked()"),self.pressed)
        self.inputDialog=QtGui.QInputDialog(self)
        self.inputDialog.setPalette(self.palette())

        self.errorMessage=QtGui.QErrorMessage(self)
        self.errorMessage.setPalette(self.palette())


    def pressed(self):
        self.inputDialog.getText(self,"bug?","background should be yellow")
        self.errorMessage.showMessage("Works here!")



if __name__=="__main__":
    import sys
    app=QtGui.QApplication(sys.argv)
    app.setStyle("plastique")
    dlg=MyDlg()
    dlg.show()
    sys.exit(app.exec_())



--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
_______________________________________________
PyQt mailing list    [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to