PyQt / Windows with gradient backgrounds¶
Legacy Wiki Page
This page was migrated from the old MoinMoin-based wiki. Information may be outdated or no longer applicable. For current documentation, see python.org.
Windows with gradient backgrounds¶
On the #pyqt channel on Freenode, felipe__ asked if it was possible to change the background colour of a window.
This code shows how it can be done with a fixed gradient. If you are subclassing QWidget or another widget class, it may be worth reimplementing its resizeEvent() method to modify the gradient so that it changes when the window is resized.
1 import sys
2 from PyQt4.QtGui import *
3
4 if __name__ == "__main__":
5
6 app = QApplication([])
7
8 w = QWidget()
9
10 p = QPalette()
11 gradient = QLinearGradient(0, 0, 0, 400)
12 gradient.setColorAt(0.0, QColor(240, 240, 240))
13 gradient.setColorAt(1.0, QColor(240, 160, 160))
14 p.setBrush(QPalette.Window, QBrush(gradient))
15 w.setPalette(p)
16
17 w.show()
18 app.exec_()