Introduktion til PyQt5 – Lav desktopprogrammer med Python

I denne artikel vil vi se på hvordan man laver GUI desktopprogrammer med PyQt.

PyQt er et modul til at lave desktopprogrammer med Python, og det kan anvendes både til Windows, MacOS og Linux. I denne artikel vil jeg tage udgangspunkt i Ubuntu linux, som jeg selv bruger, men det burde ikke have den store betydning. I artiklen vil jeg ikke komme så meget ind på selve python sproget, da det vil blive dækket i andre artikler.

PyQt er en stor samling af moduler, der kan bruges til at lave GUI desktopprogrammer, det vil sige grafiske desktopprogrammer med forms, knapper osv. Det er en samling af mange moduler, der bl.a. hedder QtCore, QtGui, QtWidgets, QtMultimedia, QtBluetooth, QtNetwork, QtPositioning, Enginio, QtWebSockets, QtWebKit, QtWebKitWidgets, QtXml, QtSvg, QtSql og QtTest.

For at kunne lave PyQt programmer, skal det først installeres og det skal vi nu kigge på.

Installer PyQt5 i Linux

Før vi installerer PyQt skal vi sikre at Python er installeret. I Linux er det oftest allerede dette som standard. Men det er vigtigt at vi kontrollerer at det er installeret og hvilken version. Det gør du ved at åbne en terminal og skrive følgende kode:

python3 --version

Hos mig skriver den at min Python version er 3.8.2 hvilket er fint. Nu skal vi installere PyQt5, hvilket vi gør med følgende kommando:

pip3 install --user pyqt5  
sudo apt-get install python3-pyqt5  
sudo apt-get install pyqt5-dev-tools
sudo apt-get install qttools5-dev-tools

Herefter skulle det gerne blive installeret. Jeg havde dog lidt problemer med at finde selve programmet bagefter, men valgte derfor at installere “Qt creator” gennem Ubuntu software efterfølgende, og så kunne jeg bruge den. Herefter kunne jeg starte Qt Creator op, og fik følgende startvindue. Jeg trykkede på nyt projekt og vælger så “Qt for Python”.

Så skal jeg vælge navn til mit projekt, som jeg her bare kalder for “Test1”.

Her vælger jeg også bare navn til pythonfilerne.

Til slut vælger jeg bare knappen “Slut”.

Og så skulle jeg gerne være klar til at komme igang. Efter projektet er oprettet kan du trykke på Filer og tilføje en ny fil til projektet. Her får du nogle ekstra valgmuligheder under Classes and Files, hvor du kan vælge Form designer fil under Qt.

Så åbner Qt Designer en .ui fil, hvor du kan designe den form du vil bruge. Når du er færdig med den skal du implementere den i dit projekt. Det kan du enten gøre ved at importere .ui filen eller oversætte den til en .py fil. Der er flest fordele ved den sidste metode og her kan du bruge kommandoen pyuic5:

pyuic5 mydesign.ui -o mydesign.py

Herefter oversættes designet til python3 kode.

Alternativet er at importere .ui filen. Den fil er en XML fil der kunne se således ud:

<?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> <class>MainWindow</class> <widget class="QMainWindow" name="MainWindow"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>367</width> <height>339</height> </rect> </property> <property name="windowTitle"> <string>MainWindow</string> </property> <widget class="QWidget" name="centralwidget"> contents... </widget> </widget> <resources/> <connections/> </ui>

Hvis .ui filen hedder main.ui og klassen der er nævnt i XML filen MainWindow kan du importere .ui filen som det ses i dette eksempel:

from PyQt5 import QtWidgets, uic 
import sys 

class Ui(QtWidgets.QMainWindow): 
     def __init__(self): 
       super(Ui, self).__init__() 
       uic.loadUi('main.ui', self) 
       self.show() 

app = QtWidgets.QApplication(sys.argv) 
window = Ui() 
app.exec_()

I kommende artikler vil jeg komme med et eksempel på hvordan du bygger et PyQt5 program.

5 1 vote
Article Rating

Andreas Andersen

Forfatter og grundlægger af IT-blogger.dk, der har blogget om IT-emner siden 2012. Findes på Mastodon på @aphandersen@ansico.dk

You may also like...

Abonner
Giv besked ved
guest

0 Comments
mest stemt på
nyeste ældste
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x