logo

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ă:



descărcare sts
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 -

java este gol

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

exemplu java salut lume
>

>