Existuje tolik možností, které Python poskytuje pro vývoj GUI aplikací a PyQt5 je jednou z nich. PyQt5 je multiplatformní sada nástrojů GUI, sada pythonových vazeb pro Qt v5. Díky nástrojům a jednoduchosti, které tato knihovna poskytuje, lze vytvořit interaktivní desktopovou aplikaci s takovou lehkostí. GUI aplikace se skládá z front-endu a back-endu. PyQt5 poskytuje nástroj nazvaný „QtDesigner“ pro návrh front-endu metodou drag and drop, takže vývoj může být rychlejší a člověk může věnovat více času back-endovým věcem. Instalace: Nejprve musíme nainstalovat knihovnu PyQt5. Chcete-li to provést, zadejte do terminálu nebo příkazového řádku následující příkaz:
pip install pyqt5>
Pokud byla úspěšně nainstalována, můžete ji ověřit spuštěním kódu:
java tutoriály
>>>importovat PyQt5>
PyQt5 poskytuje spoustu nástrojů a QtDesigner je jedním z nich. K tomu spusťte tento příkaz:
pip install PyQt5-tools>
Vytvořte svou první aplikaci –
Jedná se o jednoduchou aplikaci s jediným tlačítkem v okně. Po kliknutí na toto tlačítko se zobrazí zpráva Klikli jste na mě. Začněme .
- V první řadě musíme najít QtDesigner k vytvoření přední části. – QtDesigner je přítomen v „site-packages/pyqt5_tools“ – Chcete-li najít umístění balíčků webů, napište následující kód pythonu pomocí libovolného editoru podle vašeho výběru a poté spusťte:
>>> importovat web>>> site.getsitepackages()>
- – Spusťte aplikaci s názvem „designer“.
- Otevře se okno, jak je znázorněno na obrázku:
vyberte možnost „Dialog bez tlačítka“ a klikněte na „Vytvořit“
- Na levé straně návrháře budou různé widgety, které lze v našem okně přetáhnout a pustit podle našich požadavků.
- Najděte a přetáhněte „Push Button“ a „Label“.
- Změňte text uvnitř widgetů tak, že na něj kliknete pravým tlačítkem a vyberete „Změnit prostý text“. Ponechte text štítku prázdný.
- Vytvořili jsme náš front-end layout, stačí jej uložit na požadované místo. Pamatujte, že tento soubor bude mít příponu .ui.
- Potřebujeme převést soubor .ui na soubor .py, abychom získali pythonovskou podobu widgetů a připojili k nim potřebné posluchače událostí.
Převod souboru .ui na soubor .py:
- K tomu musíme přejít do adresáře sitepackages v terminálu nebo příkazovém řádku a spustit příkaz, jak je uvedeno níže. Získání umístění balíčků stránek je zmíněno dříve.
>>> cd C:Users……ProgramyPythonPython36-32libsite-packages [Umístění balíčků site-packages]>>> pyuic5 C:Users……FILENAME .ui[Přesné umístění souboru .ui] -o C:Users…….FILENAME.py [Umístění, kam chcete umístit soubor .py]
- Nakonec přidáme signály a slot v kódu pythonu, aby byl plně funkční.
widget.signal.connect(slot)>
- A signál je vysílán widgety po výskytu určitého druhu události, jako je kliknutí, dvojité kliknutí atd. A slot je jakákoli volatelná funkce, která po výskytu události provede nějakou akci.
- Spusťte aplikaci a klikněte na tlačítko.
Níže je 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_())> |
>
>