Python | PyQt5:n esittely

Python | PyQt5:n esittely

Python tarjoaa niin monia vaihtoehtoja GUI-sovelluksen kehittämiseen, ja PyQt5 on yksi niistä. PyQt5 on monialustainen GUI-työkalusarja, joukko python-sidoksia Qt v5:lle. Vuorovaikutteisen työpöytäsovelluksen voi kehittää niin helposti tämän kirjaston tarjoamien työkalujen ja yksinkertaisuuden ansiosta. GUI-sovellus koostuu etuosasta ja taustaosasta. PyQt5 on tarjonnut työkalun nimeltä 'QtDesigner' käyttöliittymän suunnitteluun vetämällä ja pudottamalla, jotta kehitys voi nousta ja taustatavaroihin voi varata enemmän aikaa. Asennus: Ensin meidän on asennettava PyQt5-kirjasto. Kirjoita tätä varten seuraava komento terminaaliin tai komentokehotteeseen:

pip install pyqt5 

Jos asennus onnistui, sen voi tarkistaa suorittamalla koodin:

>>>tuo PyQt5 

PyQt5 tarjoaa paljon työkaluja ja QtDesigner on yksi niistä. Suorita tätä varten tämä komento:

pip install PyQt5-tools 

Luo ensimmäinen sovelluksesi –

Tämä on yksinkertainen sovellus, jonka ikkunassa on yksi painike. Kun olet napsauttanut tätä painiketta, näkyviin tulee viesti. Napsautit minua. Aloitetaan .

  • Ensinnäkin meidän on löydettävä QtDesigner luodaksesi etuosan. – QtDesigner löytyy osoitteesta 'site-packages/pyqt5_tools' – Sivustopakettien sijainnin selvittämiseksi kirjoita seuraava python-koodi millä tahansa valitsemallasi editorilla ja suorita sitten:
>>> tuo sivusto>>> site.getsitepackages() 
  • – Suorita sovellus nimeltä 'designer'.
  • Ikkuna avautuu kuvan osoittamalla tavalla: valitse 'Dialogi ilman painiketta' -vaihtoehto ja napsauta 'Luo'
  • Suunnittelijan vasemmalla puolella on erilaisia ​​widgetejä, jotka voidaan vetää ja pudottaa ikkunaamme tarpeidemme mukaan.
  • Etsi ja vedä ja pudota 'Push Button' ja 'Label'.
  • Muuta tekstiä widgetien sisällä napsauttamalla sitä hiiren kakkospainikkeella ja valitsemalla Muuta pelkkää tekstiä. Pidä etiketin teksti tyhjänä.
  • Olemme luoneet käyttöliittymän asettelun, tallenna se haluamaasi paikkaan. Muista, että tämän tiedoston tunniste on .ui.
  • Meidän on muutettava .ui-tiedosto .py-tiedostoksi saadaksemme widgetien python-muodon ja liittääksemme niihin tarvittavat tapahtumakuuntelijat.

.ui-tiedoston muuntaminen .py-tiedostoksi:

  • Tätä varten meidän on mentävä terminaalin tai komentokehotteen sitepackages-hakemistoon ja suoritettava komento alla olevan kuvan mukaisesti. Sivustopakettien sijainnin saaminen on mainittu aiemmin.

>>> cd C:Käyttäjät……OhjelmatPythonPython36-32libsite-packages [Sivustopakettien sijainti]>>> pyuic5 C:Käyttäjät……FILENAME .ui[.ui-tiedoston tarkka sijainti] -o C:Users…….FILENAME.py [Sijainti, johon haluat sijoittaa .py-tiedoston]

  • Lopuksi lisäämme signaaleja ja python-koodin, jotta se toimii täysin.
widget.signal.connect(slot) 
  • A signaali widgetit lähettävät tietynlaisen tapahtuman, kuten napsautuksen, kaksoisnapsautuksen jne., jälkeen. aukko on mikä tahansa kutsuttava toiminto, joka suorittaa jonkin toiminnon tapahtuman jälkeen.
  • Suorita sovellus ja napsauta painiketta.

Alla on koodi -

Python 3




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