Python | Introduksjon til PyQt5

Python | Introduksjon til PyQt5

Det er så mange alternativer gitt av Python for å utvikle GUI-applikasjoner, og PyQt5 er en av dem. PyQt5 er cross-platform GUI toolkit, et sett med python-bindinger for Qt v5. Man kan utvikle en interaktiv skrivebordsapplikasjon med så mye letthet på grunn av verktøyene og enkelheten som tilbys av dette biblioteket. En GUI-applikasjon består av Front-end og Back-end. PyQt5 har gitt et verktøy kalt 'QtDesigner' for å designe front-end ved dra og slipp-metoden slik at utviklingen kan bli raskere og man kan gi mer tid på back-end ting. Installasjon: Først må vi installere PyQt5-biblioteket. For dette, skriv inn følgende kommando i terminalen eller ledeteksten:

pip install pyqt5 

Hvis installert vellykket kan man bekrefte det ved å kjøre koden:

>>>importer PyQt5 

PyQt5 gir mange verktøy og QtDesigner er en av dem. For dette, kjør denne kommandoen:

pip install PyQt5-tools 

Lag din første app –

Dette er en enkel app som har en enkelt knapp i vinduet. Etter å ha klikket på den knappen vises en melding. Du klikket på meg. La oss begynne .

  • Først av alt må vi finne QtDesigner for å lage front-end-delen. – QtDesigner er tilstede på ‘site-packages/pyqt5_tools’ – For å finne plasseringen av side-pakker skriv følgende python-kode ved å bruke en hvilken som helst editor du ønsker og kjør deretter:
>>> import nettsted>>> site.getsitepackages() 
  • – Kjør applikasjonen som heter ‘designer’.
  • Et vindu åpnes som vist på figuren: velg 'Dialog uten knapp' og klikk 'Opprett'
  • På venstre side av designeren vil det være forskjellige widgets som kan dras og slippes i vinduet vårt i henhold til vårt krav.
  • Finn og dra og slipp 'Push Button' og 'Etikett'.
  • Endre teksten inne i widgetene ved å høyreklikke på den og velge 'Endre ren tekst'. Hold teksten på etiketten tom.
  • Vi har laget front-end-oppsettet vårt, bare lagre det på ønsket sted. Husk at denne filen vil ha .ui som utvidelse.
  • Vi må konvertere .ui-filen til .py-fil for å få python-formen til widgetene og knytte nødvendige hendelseslyttere til dem.

Konvertering av .ui-fil til .py-fil:

  • For dette må vi gå til sitepackages-katalogen i terminal eller ledetekst og kjøre kommandoen som vist nedenfor. Å få plassering av sitepackages er nevnt tidligere.

>>> cd C:Users……ProgramsPythonPython36-32libsite-packages [Plassering av sitepackages]>>> pyuic5 C:Users……FILENAME .ui[Nøyaktig plassering av .ui-fil] -o C:Users…….FILENAME.py [Plassering hvor du vil plassere .py-fil]

  • Til slutt vil vi legge til signaler og spor i python-koden for å gjøre den fullt funksjonell.
widget.signal.connect(slot) 
  • EN signal sendes ut av widgets etter forekomsten av en bestemt type hendelse som et klikk, dobbeltklikk osv. A spor er enhver kallbar funksjon som vil utføre en handling etter at en hendelse har inntruffet.
  • Kjør appen og klikk på knappen.

Nedenfor er koden -

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