pyqt5 hello world

PyQt can be used to create a graphical user interface, GUI. Qt was created by Riverbank Computing.
Graphical interfaces made with PyQt can run on all major desktop systems including Microsoft Windows, Apple Mac and Unix.

We will create a Hello World app with PyQt.

pyqt hello world

Related course

Install PyQt

PyQt is available for both Python 2 (2.7.9 tested) and Python 3.

To install write:
pip3 install pyqt5

With apt-get you can use:
python3-pyqt5

PyQt hello world

The app we write will show the message “Hello World” in a graphical window. Import the PyQt5 module.

import sys
from PyQt5 import QtCore, QtWidgets
from PyQt5.QtWidgets import QMainWindow, QLabel, QGridLayout, QWidget
from PyQt5.QtCore import QSize    
     
class HelloWindow(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
 
        self.setMinimumSize(QSize(640, 480))    
        self.setWindowTitle("Hello world") 
        
        centralWidget = QWidget(self)          
        self.setCentralWidget(centralWidget)   
 
        gridLayout = QGridLayout(self)     
        centralWidget.setLayout(gridLayout)  
 
        title = QLabel("Hello World from PyQt", self) 
        title.setAlignment(QtCore.Qt.AlignCenter) 
        gridLayout.addWidget(title, 0, 0)
 
 
if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    mainWin = HelloWindow()
    mainWin.show()
    sys.exit( app.exec_() )

The program starts in the main part. We initialize Qt and create an object of the type HelloWindow. We call the show() method to display the window.

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    mainWin = HelloWindow()
    mainWin.show()
    sys.exit( app.exec_() )

The HelloWindow class inherits from the class QMainWindow. We call its super method to initialize the window. Several class variables are set: size and window title. We add widgets to the window, including a label widget (QLabel) which displays the message “Hello World”.
 

pyqt5 center window
PyQt

Leave a Reply

Your email address will not be published. Required fields are marked *