The application icon is a small image which is usually displayed in the top left corner of the titlebar. In the following example we will show how we do it in PyQt4. We will also introduce some new methods.
#!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial This example shows an icon in the titlebar of the window. author: Jan Bodnar website: zetcode.com last edited: October 2011 """ import sys from PyQt4 import QtGui class Example(QtGui.QWidget): def __init__(self): super(Example, self).__init__() self.initUI() def initUI(self): self.setGeometry(300, 300, 250, 150) self.setWindowTitle(‘Icon‘) self.setWindowIcon(QtGui.QIcon(‘web.png‘)) self.show() def main(): app = QtGui.QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) if __name__ == ‘__main__‘: main()
The previous example was coded in a procedural style. Python programming language supports both procedural and object oriented programming styles. Programming in PyQt4 means programming in OOP.
class Example(QtGui.QWidget): def __init__(self): super(Example, self).__init__() ...
The three most important things in object oriented programming are classes, data, and methods. Here we create a new class called Example
. The Example
class inherits from QtGui.QWidget
class. This means that we call two constructors: the first one for the Example
class and the second one for the inherited class. The super()
method returns the parent object of the Example
class and we call its constructor. The __init__()
method is a constructor method in Python.
self.initUI()
The creation of the GUI is delegated to the initUI()
method.
self.setGeometry(300, 300, 250, 150) self.setWindowTitle(‘Icon‘) self.setWindowIcon(QtGui.QIcon(‘web.png‘))
All three methods have been inherited from the QtGui.QWidget
class. The setGeometry()
does two things. It locates the window on the screen and sets its size. The first two parameters are the x and y positions of the window. The third is the width and the fourth is the height of the window. In fact, it combines the resize()
and move()
methods in one method. The last method sets the application icon. To do this, we have created a QtGui.QIcon
object. The QtGui.QIcon
receives the path to our icon to be displayed.
def main(): app = QtGui.QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) if __name__ == ‘__main__‘: main()
The startup code has been placed in the main()
method. This is a Python idiom.
Figure: Icon