Python пропонує так багато варіантів для розробки додатків з графічним інтерфейсом користувача, і PyQt5 є одним із них. PyQt5 — це кросплатформний інструментарій GUI, набір прив’язок python для Qt v5. Завдяки інструментам і простоті цієї бібліотеки можна легко розробити інтерактивну настільну програму. Додаток із графічним інтерфейсом складається з інтерфейсу та серверу. PyQt5 надав інструмент під назвою «QtDesigner» для проектування інтерфейсу за допомогою методу перетягування, щоб розробка стала швидшою та можна було приділяти більше часу роботі з бек-ендом. Установка: Спочатку нам потрібно встановити бібліотеку PyQt5. Для цього введіть таку команду в терміналі або командному рядку:
pip install pyqt5>
У разі успішного встановлення можна перевірити це, запустивши код:
>>>імпорт PyQt5>>
PyQt5 надає багато інструментів, і QtDesigner є одним із них. Для цього виконайте цю команду:
отримати довжину масиву в c
pip install PyQt5-tools>
Створіть свій перший додаток –
Це проста програма з однією кнопкою у вікні. Після натискання цієї кнопки з’явиться повідомлення Ви натиснули мене. Давайте розпочнемо .
- Перш за все, нам потрібно знайти QtDesigner для створення передньої частини. – QtDesigner присутній у «site-packages/pyqt5_tools» – Щоб знайти місце розташування site-packages, напишіть наступний код python за допомогою будь-якого редактора на ваш вибір, а потім запустіть:
>>> імпорт сайту>>> site.getsitepackages()>
- – Запустіть програму під назвою «дизайнер».
- Відкриється вікно, як показано на малюнку:
виберіть опцію «Діалог без кнопки» та натисніть «Створити»
- У лівій частині дизайнера будуть різні віджети, які можна перетягувати в наше вікно відповідно до наших вимог.
- Знайдіть і перетягніть «Кнопку» та «Мітку».
- Змініть текст усередині віджетів, клацнувши його правою кнопкою миші та вибравши «Змінити звичайний текст». Не заповнюйте текст етикетки.
- Ми створили наш інтерфейсний макет, просто збережіть його у бажаному місці. Пам’ятайте, що цей файл матиме розширення .ui.
- Нам потрібно перетворити файл .ui у файл .py, щоб отримати форму Python для віджетів і прикріпити до них необхідні прослуховувачі подій.
Перетворення файлу .ui у файл .py:
- Для цього нам потрібно перейти до каталогу sitepackages у терміналі або командному рядку та виконати команду, як показано нижче. Отримання розташування пакетів сайтів згадувалося раніше.
>>> cd C:Users……ProgramsPythonPython36-32libsite-packages [Розташування пакетів сайту]>>> pyuic5 C:Users……FILENAME .ui[Точне розташування файлу .ui] -o C:Users…….FILENAME.py [Місце розташування файлу .py]
- Нарешті ми додамо сигнали та слот у код Python, щоб зробити його повністю функціональним.
widget.signal.connect(slot)>
- А сигнал створюється віджетами після певної події, наприклад клацання, подвійне клацання тощо. слот це будь-яка викликана функція, яка виконає певну дію після виникнення події.
- Запустіть програму та натисніть кнопку.
Нижче наведено код –
нитка.знищити
Python3
java є екземпляром
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_())> |
>
java синхронізація
>