Python | Introducere în PyQt5
Există atât de multe opțiuni oferite de Python pentru a dezvolta aplicația GUI și PyQt5 este una dintre ele. PyQt5 este un set de instrumente GUI multiplatformă, un set de legături python pentru Qt v5. Se poate dezvolta o aplicație desktop interactivă cu atâta ușurință datorită instrumentelor și simplității oferite de această bibliotecă. O aplicație GUI constă din Front-end și Back-end. PyQt5 a furnizat un instrument numit „QtDesigner” pentru a proiecta front-end-ul prin metoda drag and drop, astfel încât dezvoltarea să devină mai rapidă și să se poată acorda mai mult timp lucrurilor back-end. Instalare: Mai întâi, trebuie să instalăm biblioteca PyQt5. Pentru aceasta, tastați următoarea comandă în terminal sau prompt de comandă:
pip install pyqt5
Dacă este instalat cu succes, se poate verifica rulând codul:
>>>import PyQt5
PyQt5 oferă o mulțime de instrumente, iar QtDesigner este unul dintre ele. Pentru aceasta, rulați această comandă:
pip install PyQt5-tools
Creați-vă prima aplicație -
Aceasta este o aplicație simplă care are un singur buton în fereastră. După ce faceți clic pe acel buton, va apărea un mesaj M-ați făcut clic. Să începem .
- În primul rând, trebuie să găsim QtDesigner pentru a crea partea frontală. – QtDesigner este prezent la „site-packages/pyqt5_tools” – Pentru a găsi locația pachetelor de site, scrieți următorul cod python folosind orice editor la alegere și apoi rulați:
>>> import site>>> site.getsitepackages()
- – Rulați aplicația numită „designer”.
- Se va deschide o fereastră așa cum se arată în figură:
selectați opțiunea „Dialog fără buton” și faceți clic pe „Creare” - În partea stângă a designerului vor exista diverse widget-uri care pot fi trase și plasate în fereastra noastră în funcție de cerințele noastre.
- Găsiți și trageți și plasați „Butonul” și „Eticheta”.
- Schimbați textul din interiorul widget-urilor făcând clic dreapta pe el și selectând „Modificați text simplu”. Păstrați textul etichetei necompletat.
- Am creat aspectul nostru front-end, doar salvați-l în locația dorită. Rețineți, acest fișier va avea extensie .ui.
- Trebuie să convertim fișierul .ui în fișierul .py pentru a obține forma python a widget-urilor și a le atașa ascultătorii de evenimente necesari.
Conversia fișierului .ui în fișier .py:
- Pentru aceasta, trebuie să mergem la directorul sitepackages din terminal sau promptul de comandă și să rulăm comanda așa cum se arată mai jos. Obținerea locației sitepackage-urilor este menționată anterior.
>>> cd C:Users……ProgramsPythonPython36-32libsite-packages [Locația sitepackages]>>> pyuic5 C:Users……FILENAME .ui[Locația exactă a fișierului .ui] -o C:Utilizatori…….FILENAME.py [Locația în care doriți să puneți fișierul .py]
- În cele din urmă, vom adăuga semnale și slot în codul Python pentru a-l face pe deplin funcțional.
widget.signal.connect(slot)
- A semnal este emis de widget-uri după apariția unui anumit tip de eveniment, cum ar fi un clic, dublu clic etc. A slot este orice funcție apelabilă care va efectua o anumită acțiune după apariția unui eveniment.
- Rulați aplicația și faceți clic pe butonul.
Mai jos este codul -
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_())> |
selectați opțiunea „Dialog fără buton” și faceți clic pe „Creare”