logo

Python | Úvod do PyQt5

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_())>

>

>