Piton

A PyQt GUI Builder használata

A PyQt GUI Builder használata

A PyQt egy népszerű Python könyvtár, amelyet a Python grafikus alkalmazásainak könnyebb megvalósítására használnak. Ez a könyvtár egy GUI (Graphical User Interface) készítő eszközzel érkezik Qt Designer. A GUI gyorsan elkészíthető a Pythonban a könyvtár drag-and-drop funkciójával, bár ennek az eszköznek nincs olyan hibakeresési lehetősége, mint a standard IDE. Ez az oktatóanyag bemutatja, hogyan lehet a GUI-t megvalósítani a PyQt Qt Designer osztályával.

Előfeltételek

Az ebben az oktatóanyagban szereplő példák gyakorlása előtt telepítenie kell a Qt Designer eszközt. Futtassa a következő parancsokat a Qt Designer a rendszerén:

$ sudo apt-get install qttools5-dev-tools
$ sudo apt-get install qttools5-dev

Nyissa meg a Qt Designer alkalmazást

Futtassa a következő parancsot az aktuális könyvtár helyének a Qt Designer mappába.

$ cd / usr / lib / x86_64-linux-gnu / qt5 / bin /

Futtassa a következő parancsot a Qt Designer alkalmazás megnyitásához.

$ ./tervező

Ha a Qt Designer megfelelően lett telepítve, a következő ablak jelenik meg. A Widget A főablak bal oldalán látható négyzet különféle widgeteket tartalmaz, amelyek segítségével megtervezheti az alkalmazás felhasználói felületét. A Új űrlap ablak segítségével új ablakot hozhatunk létre az alapértelmezett gombok segítségével. A főablak jobb oldalán látható ablakok információkat nyújtanak az olvasható vagy módosítható widgetekről.

Készítse el az első űrlapot a Qt Designer használatával

A Python alkalmazás felületének megtervezéséhez kattintson a gombra Teremt gombot a következő ablakban a párbeszédpanel megnyitásához két alapértelmezett gombbal.

Ezután megtervezünk egy bejelentkezési űrlapot a Címke, szövegszerkesztő és nyomógomb kütyü. A párbeszédpanel a Bejelentkezés névvel kerül mentésre.ui, amelyet később a Python szkriptben használunk. A QObject név megváltozik Logindialog használni a Tulajdonságszerkesztő ablak az alkalmazás.

A Bejelentkezés párbeszédpanel használata

A. Felület által létrehozott felhasználói felület fájl Qt Designer kétféleképpen használható a Python szkriptben. A fájl közvetlenül használható a Python szkriptben, vagy a Qt Designer fájl használható a Python szkriptben. A. Párbeszédpanelének mindkét módja Qt Designer az oktatóanyag következő szakaszában láthatók.

Futtassa közvetlenül a Qt Designer fájlt

A PyQt könyvtár UIC modulját a Qt Designer által létrehozott fájl és a loadUI () az UIC modul metódusát használják az UI fájl betöltésére. A következő szkript bemutatja, hogyan töltse be a Qt Designer fájl neve Belépés.ui amit korábban létrehoztunk. A szükséges modulokat a szkript elején importáljuk. Az alkalmazás objektuma a QApplication (), és a Qt Designer fájl betöltése a loadUI () módszer. Ezután a exec () metódust hívják meg az alkalmazás eseménykörének elindítására.

# Sys modul importálása
import sys
# QtWidgetek és uic modulok importálása
a PyQt5-ből importálja a QtWidgeteket, uic
# Alkalmazásobjektum létrehozása
app = QtWidgets.QApplication (sys.argv)
# Töltse fel a GUI űrlapot és a kijelzőt
ablak = uic.loadUi ("Bejelentkezés.ui ")
ablak.előadás()
# Indítsa el az alkalmazás vagy párbeszédpanel esemény ciklusát
kb.exec ()

A fenti párbeszédpanel a fenti parancsfájl végrehajtása után jelenik meg.

Futtassa a felhasználói felület fájlt konvertálás Python fájlba

A Qt Designer által létrehozott felhasználói felület fájl konvertálható Python fájlokká a pyuic5 parancs. A konvertálásához futtassa a következő parancsot Belépés.ui fájlt a Bejelentkezési űrlap.py fájl. A Belépés.ui a következő parancs futtatásához a fájlt az aktuális helyen kell tárolni; különben hiba keletkezik.

$ pyuic5 Bejelentkezés.ui -o loginForm.py

A következő kód jön létre a Bejelentkezési űrlap.py fájl a fenti parancs végrehajtása után.

# - * - kódolás: utf-8 - *-
# A 'Login bejelentkezési felhasználói fájl olvasásából létrehozott űrlap megvalósítás.ui '
#
# Készítette: PyQt5 UI kódgenerátor 5.12.3
#
# FIGYELEM! A fájlban végrehajtott összes módosítás elveszik!
a PyQt5-ből importálja a QtCore, QtGui, QtWidgets programokat
class Ui_Logindialog (objektum):
def setupUi (self, Logindialog):
Logindialog.setObjectName ("Logindialog")
Logindialog.átméretezés (400, 224)
maga.textEdit = QtWidgets.QTextEdit (Logindialog)
maga.textEdit.setGeometry (QtCore.QRect (130, 70, 221, 31)
maga.textEdit.setObjectName ("textEdit")
maga.textEdit_2 = QtWidgetek.QTextEdit (Logindialog)
maga.textEdit_2.setGeometry (QtCore.QRect (130, 120, 221, 31)
maga.textEdit_2.setObjectName ("textEdit_2")
maga.label = QtWidgets.QLabel (Logindialog)
maga.címke.setGeometry (QtCore.QRect (140, 20, 131, 31)
font = QtGui.QFont ()
betűtípus.setPointSize (18)
maga.címke.setFont (font)
maga.címke.setObjectName ("címke")
maga.label_2 = QtWidgetek.QLabel (Logindialog)
maga.label_2.setGeometry (QtCore.QRect (36, 70, 81, 20)
maga.label_2.setObjectName ("label_2")
maga.label_3 = QtWidgetek.QLabel (Logindialog)
maga.label_3.setGeometry (QtCore.QRect (40, 120, 67, 17)
maga.label_3.setObjectName ("label_3")
maga.btnLogin = QtWidgets.QPushButton (Logindialog)
maga.btnLogin.setGeometry (QtCore.QRect (150, 170, 89, 25)
maga.btnLogin.setObjectName ("btnLogin")
maga.btnCancel = QtWidgets.QPushButton (Logindialog)
maga.btnCancel.setGeometry (QtCore.QRect (250, 170, 89, 25)
maga.btnCancel.setObjectName ("btnCancel")
maga.retranslateUi (Logindialog)
QtCore.QMetaObject.connectSlotsByName (Logindialog)
def retranslateUi (én, Logindialog):
_translate = QtCore.QCoreApplication.fordít
Logindialog.setWindowTitle (_translate ("Logindialog", "Dialog"))
maga.címke.setText (_translate ("Logindialog", "Bejelentkezés űrlap"))
maga.label_2.setText (_translate ("Logindialog", "Felhasználónév"))
maga.label_3.setText (_translate ("Logindialog", "Jelszó"))
maga.btnLogin.setText (_translate ("Logindialog", "Bejelentkezés"))
maga.btnCancel.setText (_translate ("Logindialog", "Mégse"))

Az alábbiakban megjelenik a Belépés párbeszédpanelt a Bejelentkezési űrlap.py fájl segítségével készült pyuic5 parancs. Az alkalmazás objektuma a QApplication (), és a Bejelentkezés párbeszédpanel a setupUi () módszer. A Bejelentkezés gomb a loginClicked () módszer annak ellenőrzésére, hogy a felhasználótól vett felhasználónév és jelszó érvényes-e. A Megszünteti gomb a CancelClicked () módszer az alkalmazásból való kilépéshez. A exec () metódust hívják meg az alkalmazás eseménykörének elindítására.

# QtWidgetek importálása
a PyQt5-ből importálja a QtWidgeteket
# Rendszer importálása
import sys
# Bejelentkezés bejelentkezési űrlap importálása
import loginForm
# Adjon meg egy osztályt a felhasználói felület beállításához
osztály MyApp (QtWidgets.QMainWindow, loginForm.Ui_Logindialog):
def __init __ (én, szülő = Nincs):
szuper (MyApp, saját).__init __ (szülő)
# Töltse be a bejelentkezési űrlapot
maga.setupUi (self)
# Call loginClicked () metódus
maga.btnLogin.kattant.összekapcsolni (én.loginClicked)
# Call cancelClicked () metódus
maga.btnCancel.kattant.összekapcsolni (én.CancelClicked)
# Nyissa meg a felhasználónév és jelszó ellenőrzésének módját, amikor a Bejelentkezés gombra kattint
def loginClicked (self):
ha önmaga.textEdit.toPlainText () == 'admin' és saját.textEdit_2.toPlainText () == 'superuser':
nyomtatás ('Hitelesített felhasználó')
más:
nyomtatás ('Igazolatlan felhasználó')
# Deklarálja a szkript leállításának módszerét, amikor a Mégse gombra kattint
def CancelClicked (self):
kijárat()
# Alkalmazásobjektum létrehozása
app = QtWidgets.QApplication (sys.argv)
# Osztályobjektum létrehozása
form = MyApp ()
# Az űrlap megjelenítése
forma.előadás()
# Indítsa el az alkalmazás vagy párbeszédpanel esemény ciklusát
kb.exec ()

A fenti párbeszédpanel a fenti parancsfájl végrehajtása után jelenik meg.


Ha a felhasználó rossz felhasználónevet vagy jelszót ír be a Belépés űrlapot, akkor a következő kimenet jelenik meg a Belépés gomb.


Ha a felhasználó a helyes felhasználónevet és jelszót írja be a Belépés űrlapot, akkor a következő kimenet jelenik meg a gombra kattintva Belépés gomb.


Ha a felhasználó rákattint a Megszünteti gombot a Belépés űrlapot, akkor a párbeszédpanel eltűnik.

Következtetés

Ez az oktatóanyag bemutatta a telepítés módját Qt Designer és hogyan lehet egy egyszerű űrlapot megtervezni az alkalmazás segítségével. Az oktatóanyag azt is megmutatta, hogyan töltheti be közvetlenül a felhasználói felület párbeszédpanelt, és miután átalakította azt Python szkriptvé, a bemutató másik részében bemutatták. Remélhetőleg ez a cikk segített jobban megérteni a Qt Designer használatát a GUI felépítéséhez és az alkalmazásokban történő használatához.

Az egérmutató és a kurzor méretének, színének és sémájának módosítása a Windows 10 rendszeren
Az egérmutató és a kurzor a Windows 10 operációs rendszerben nagyon fontos szempont. Ez elmondható más operációs rendszerekről is, tehát valójában eze...
Ingyenes és nyílt forráskódú játékmotorok a Linux játékok fejlesztéséhez
Ez a cikk felsorolja azokat az ingyenes és nyílt forráskódú játékmotorokat, amelyek felhasználhatók 2D és 3D játékok fejlesztésére Linuxon. Számos ily...
Shadow of the Tomb Raider for Linux Tutorial
A Shadow of the Tomb Raider a Tomb Raider sorozat tizenkettedik kiegészítője - az Eidos Montreal által létrehozott akció-kaland játék franchise. A ját...