Python | Úvod do PyQt5
Existuje toľko možností, ktoré poskytuje Python na vývoj GUI aplikácie a PyQt5 je jednou z nich. PyQt5 je multiplatformový GUI toolkit, sada pythonových väzieb pre Qt v5. Vďaka nástrojom a jednoduchosti poskytovaným touto knižnicou je možné vytvoriť interaktívnu desktopovú aplikáciu s takou ľahkosťou. Aplikácia GUI pozostáva z front-endu a back-endu. PyQt5 poskytuje nástroj s názvom „QtDesigner“ na navrhovanie front-endu metódou drag and drop, takže vývoj môže byť rýchlejší a človek môže venovať viac času back-end veciam. Inštalácia: Najprv musíme nainštalovať knižnicu PyQt5. Na tento účel zadajte do terminálu alebo príkazového riadka nasledujúci príkaz:
pip install pyqt5
Ak je inštalácia úspešná, môžete to overiť spustením kódu:
>>>importovať PyQt5
PyQt5 poskytuje množstvo nástrojov a QtDesigner je jedným z nich. Na tento účel spustite tento príkaz:
pip install PyQt5-tools
Vytvorte svoju prvú aplikáciu –
Ide o jednoduchú aplikáciu s jediným tlačidlom v okne. Po kliknutí na toto tlačidlo sa zobrazí správa Klikli ste na mňa. Začnime .
- V prvom rade musíme nájsť QtDesigner na vytvorenie prednej časti. – QtDesigner sa nachádza v „site-packages/pyqt5_tools“ – Ak chcete nájsť umiestnenie balíčkov lokality, napíšte nasledujúci python kód pomocou ľubovoľného editora podľa vášho výberu a potom spustite:
>>> importovať stránky>>> site.getsitepackages()
- – Spustite aplikáciu s názvom „dizajnér“.
- Otvorí sa okno, ako je znázornené na obrázku:
vyberte možnosť „Dialógové okno bez tlačidla“ a kliknite na „Vytvoriť“ - Na ľavej strane návrhára budú rôzne miniaplikácie, ktoré je možné presúvať myšou v našom okne podľa našej požiadavky.
- Nájdite a presuňte myšou „Push Button“ a „Label“.
- Zmeňte text vo vnútri miniaplikácií kliknutím pravým tlačidlom myši a výberom možnosti „Zmeniť obyčajný text“. Ponechajte text štítka prázdny.
- Vytvorili sme naše rozloženie front-endu, stačí ho uložiť na požadované miesto. Nezabudnite, že tento súbor bude mať príponu .ui.
- Potrebujeme skonvertovať súbor .ui na súbor .py, aby sme získali pythonovú formu widgetov a pripojili k nim potrebné poslucháče udalostí.
Konverzia súboru .ui na súbor .py:
- Na to musíme prejsť do adresára sitepackages v termináli alebo príkazovom riadku a spustiť príkaz, ako je uvedené nižšie. Získanie polohy balíkov stránok je uvedené vyššie.
>>> cd C:Users……ProgramyPythonPython36-32libsite-packages [Umiestnenie balíkov stránok]>>> pyuic5 C:Users……FILENAME .ui[Presné umiestnenie súboru .ui] -o C:Users…….FILENAME.py [Umiestnenie, kam chcete umiestniť súbor .py]
- Nakoniec do kódu pythonu pridáme signály a slot, aby bol plne funkčný.
widget.signal.connect(slot)
- A signál je vydaný miniaplikáciami po výskyte určitého druhu udalosti, ako je kliknutie, dvojité kliknutie atď slot je akákoľvek volateľná funkcia, ktorá vykoná nejakú akciu po výskyte udalosti.
- Spustite aplikáciu a kliknite na tlačidlo.
Nižšie je uvedený kód -
Python3
import> sys> from> PyQt5> import> QtCore, QtGui, QtWidgets> class> Ui_Dialog(> object> ):> > def> setupUi(> self> , Dialog):> > Dialog.setObjectName('Dialog')> > Dialog.resize(> 400> ,> 300> )> > self> .pushButton> => QtWidgets.QPushButton(Dialog)> > self> .pushButton.setGeometry(QtCore.QRect(> 150> ,> 70> ,> 93> ,> 28> ))> > self> .label> => QtWidgets.QLabel(Dialog)> > self> .label.setGeometry(QtCore.QRect(> 130> ,> 149> ,> 151> ,> 31> ))> > self> .label.setText('')> > self> .retranslateUi(Dialog)> > QtCore.QMetaObject.connectSlotsByName(Dialog)> > > # adding signal and slot> > self> .pushButton.clicked.connect(> self> .showmsg)> > def> retranslateUi(> self> , Dialog):> > _translate> => QtCore.QCoreApplication.translate> > Dialog.setWindowTitle(_translate('Dialog', 'Dialog'))> > self> .pushButton.setText(_translate('Dialog', 'Click'))> > > def> showmsg(> self> ):> > # slot> > self> .label.setText('You clicked me')> if> __name__> => => '__main__':> > app> => QtWidgets.QApplication(sys.argv)> > MainWindow> => QtWidgets.QMainWindow()> > ui> => Ui_Dialog()> > ui.setupUi(MainWindow)> > MainWindow.show()> > sys.exit(app.exec_())> |
vyberte možnosť „Dialógové okno bez tlačidla“ a kliknite na „Vytvoriť“