Python | Ievads PyQt5
Python piedāvā tik daudz iespēju, lai izstrādātu GUI lietojumprogrammu, un PyQt5 ir viena no tām. PyQt5 ir starpplatformu GUI rīkkopa, python saišu komplekts Qt v5. Šīs bibliotēkas nodrošināto rīku un vienkāršības dēļ var ļoti vienkārši izstrādāt interaktīvu darbvirsmas lietojumprogrammu. GUI lietojumprogramma sastāv no priekšgala un aizmugures. PyQt5 ir nodrošinājis rīku ar nosaukumu “QtDesigner”, lai izstrādātu priekšgalu, izmantojot vilkšanas un nomešanas metodi, lai izstrāde kļūtu ātrāka un varētu veltīt vairāk laika aizmugures lietām. Uzstādīšana: Pirmkārt, mums ir jāinstalē PyQt5 bibliotēka. Lai to izdarītu, terminālī vai komandu uzvednē ierakstiet šādu komandu:
pip install pyqt5
Ja tas ir veiksmīgi instalēts, to var pārbaudīt, palaižot kodu:
>>>importēt PyQt5
PyQt5 nodrošina daudz rīku, un viens no tiem ir QtDesigner. Šim nolūkam izpildiet šo komandu:
pip install PyQt5-tools
Izveidojiet savu pirmo lietotni -
Šī ir vienkārša lietotne, kuras logā ir viena poga. Pēc noklikšķināšanas uz šīs pogas parādīsies ziņojums Jūs noklikšķinājāt uz mani. Sāksim .
- Pirmkārt, mums ir jāatrod QtDesigner lai izveidotu priekšgala daļu. – QtDesigner atrodas vietnē “site-packages/pyqt5_tools” – Lai atrastu vietņu pakotņu atrašanās vietu, ierakstiet šādu Python kodu, izmantojot jebkuru jūsu izvēlētu redaktoru, un pēc tam palaidiet:
>>> importēt vietni>>> site.getsitepackages()
- - Palaidiet lietojumprogrammu ar nosaukumu 'dizainers'.
- Tiks atvērts logs, kā parādīts attēlā:
atlasiet opciju 'Dialogs bez pogas' un noklikšķiniet uz 'Izveidot' - Dizainera kreisajā pusē būs dažādi logrīki, kurus var vilkt un nomest mūsu logā atbilstoši mūsu prasībām.
- Atrodiet un velciet un nometiet “Push Button” un “Label”.
- Mainiet logrīku tekstu, ar peles labo pogu noklikšķinot uz tā un atlasot “Mainīt vienkāršu tekstu”. Etiķetes tekstu atstājiet tukšu.
- Mēs esam izveidojuši mūsu priekšgala izkārtojumu, vienkārši saglabājiet to vēlamajā vietā. Atcerieties, ka šī faila paplašinājums būs .ui.
- Mums ir jāpārvērš .ui fails par .py failu, lai iegūtu logrīku python formu un pievienotu tiem nepieciešamos notikumu uztvērējus.
.ui faila konvertēšana par .py failu:
- Lai to izdarītu, terminālī vai komandu uzvednē ir jāiet uz vietņu pakotņu direktoriju un jāpalaiž komanda, kā parādīts zemāk. Vietņu pakotņu atrašanās vietas iegūšana ir minēta iepriekš.
>>> cd C:Users……ProgramsPythonPython36-32libsite-packages [vietņu pakotņu atrašanās vieta]>>> pyuic5 C:Users……FILENAME .ui[precīza .ui faila atrašanās vieta] -o C:Users…….FILENAME.py [Atrašanās vieta, kur vēlaties ievietot .py failu]
- Visbeidzot, mēs pievienosim signālus un ievietosim python kodu, lai tas pilnībā funkcionētu.
widget.signal.connect(slot)
- A signāls logrīki izstaro pēc noteikta veida notikuma, piemēram, klikšķa, dubultklikšķa utt. slots ir jebkura izsaucama funkcija, kas veiks kādu darbību pēc notikuma.
- Palaidiet lietotni un noklikšķiniet uz pogas.
Zemāk ir kods -
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_())> |
atlasiet opciju 'Dialogs bez pogas' un noklikšķiniet uz 'Izveidot'