Python | PyQt5 įvadas
„Python“ siūlo tiek daug galimybių kurti GUI programą, o „PyQt5“ yra viena iš jų. PyQt5 yra kelių platformų GUI įrankių rinkinys, python susiejimo rinkinys, skirtas Qt v5. Dėl šios bibliotekos teikiamų įrankių ir paprastumo galima labai lengvai sukurti interaktyvią darbalaukio programą. GUI programą sudaro priekinė dalis ir galinė dalis. „PyQt5“ pateikė įrankį „QtDesigner“, skirtą sukurti priekinę dalį vilkimo ir nuleidimo metodu, kad plėtra būtų greitesnė ir būtų galima skirti daugiau laiko galinės dalies dalykams. Montavimas: Pirmiausia turime įdiegti PyQt5 biblioteką. Norėdami tai padaryti, terminale arba komandų eilutėje įveskite šią komandą:
pip install pyqt5
Jei sėkmingai įdiegta, galite tai patikrinti paleisdami kodą:
>>>importuoti PyQt5
„PyQt5“ suteikia daug įrankių, o „QtDesigner“ yra vienas iš jų. Tam paleiskite šią komandą:
pip install PyQt5-tools
Sukurkite savo pirmąją programą –
Tai paprasta programa, turinti vieną mygtuką lange. Spustelėjus šį mygtuką pasirodys pranešimas Tu paspaudei mane. Pradėkime .
- Visų pirma, turime surasti QtDesigner sukurti priekinę dalį. – „QtDesigner“ yra adresu „site-packages/pyqt5_tools“ – Norėdami rasti svetainių paketų vietą, parašykite šį python kodą naudodami bet kurį pasirinktą redaktorių ir paleiskite:
>>> importuoti svetainę>>> site.getsitepackages()
- – Paleiskite programą pavadinimu „dizaineris“.
- Atsidarys langas, kaip parodyta paveikslėlyje:
pasirinkite parinktį „Dialogas be mygtuko“ ir spustelėkite „Sukurti“ - Kairėje dizainerio pusėje bus įvairių valdiklių, kuriuos galima vilkti ir numesti į mūsų langą pagal mūsų reikalavimus.
- Raskite ir nuvilkite „Spush Button“ ir „Label“.
- Pakeiskite tekstą valdiklių viduje spustelėdami jį dešiniuoju pelės mygtuku ir pasirinkdami „Keisti paprastą tekstą“. Etiketės tekstą palikite tuščią.
- Sukūrėme savo sąsajos išdėstymą, tiesiog išsaugokite jį norimoje vietoje. Atminkite, kad šio failo plėtinys bus .ui.
- Turime konvertuoti .ui failą į .py failą, kad gautume valdiklių python formą ir prie jų pridėtume reikiamus įvykių klausytojus.
.ui failo konvertavimas į .py failą:
- Norėdami tai padaryti, turime eiti į svetainės paketų katalogą terminale arba komandinėje eilutėje ir paleisti komandą, kaip parodyta toliau. Svetainių paketų vietos nustatymas buvo paminėtas anksčiau.
>>> cd C:Users……ProgramsPythonPython36-32libsite-packages [Svetainių paketų vieta]>>> pyuic5 C:Users……FILENAME .ui[Tiksli .ui failo vieta] -o C:Users…….FILENAME.py [Vieta, kur norite įdėti .py failą]
- Galiausiai pridėsime signalų ir įdėsime į python kodą, kad jis veiktų visiškai.
widget.signal.connect(slot)
- A signalas skleidžia valdikliai įvykus tam tikram įvykiui, pvz., spustelėjimui, dvigubam paspaudimui ir pan. lizdas yra bet kokia iškviečiama funkcija, kuri atliks tam tikrą veiksmą įvykus įvykiui.
- Paleiskite programą ir spustelėkite mygtuką.
Žemiau yra kodas -
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_())> |
pasirinkite parinktį „Dialogas be mygtuko“ ir spustelėkite „Sukurti“