Привет всем,сегодня я бы хотел рассказать о простом конструкторе программ для Python. Этот "конструктор" будет интересен новичкам!Начнем
PyQt — набор «привязок» графического фреймворка Qt для языка программирования Python, выполненный в виде расширения Python.
PyQt разработан британской компанией Riverbank Computing[1]. PyQt работает на всех платформах, поддерживаемых Qt: Linux и другие UNIX-подобные ОС, Mac OS X и Windows. Существует 2 версии: PyQt5, поддерживающий Qt 5, и PyQt4, поддерживающий Qt 4. PyQt распространяется под лицензиями GPL (2 и 3 версии) и коммерческой[2].
Установка:
pip install pyqt5
и ждём когда скачается и установится PyQT5. После этого качаем и устанавливаем .exe установочный файл отсюда: https://sourceforge.net/projects/pyqt/files/ Если вы используете более менее свежую версию Python и PyQT будьте готовы, что примеры из книг 2012-14 года выпуска могут банально не совместимы с вашим софтом. Вместе с PyQT ставится куча полезных примеров - папку с ними можно найти в меню Пуск
Для создание шаблона окна нам понадобиться программа "Designer"
PyQt практически полностью реализует возможности Qt. А это более 600 классов[3], более 6000 функций и методов, включая:
Раньше PyQt поставлялся вместе со средой разработки Eric, написанной на PyQt. Eric имеет встроенный отладчик и может быть использована для создания консольных программ. Теперь она доступна в качестве отдельного проекта[4][5][6].
То есть PyQt -это программирование в графическом видео,ну вот так:
То есть вы заходите ,и делаете интерфейс для своей программы. Ну согласитесь в PyQt'е проще "нарисовать" программу чем в tkinter.То есть вы создали ваш шаблон окна.Далее этот файл с расширением .ui вы сохраняете в отдельную пустую папку потом открываете cmd и из cmd переходите в эту папку и выполняете команду:
pyuic5 <название файла>.ui -o <Название вашего нового скрипта>.py
В этой папке у вас появиться ваш .py файл и если вы его откроете то увидите строки кода далее вам понадобиться default шаблон:
Где написано "vash_ui import" вы импортируете ваш .py который у вас в папке.Ну а дальше вы назначаете пишете действия кнопкам,выводите надписи и т.д. Но это сделано для удобства, и это можно не делать.Можно просто писать с использованием Pyqt
Пример:
Это пример обычного диалогового окна,то есть у вас получиться вот это:
В tkinter для создание такого окна был бы такой код:
Ну и надо будет еще назначить функцию выхода из программы.А на этом все.Спасибо за внимание!
PyQt — набор «привязок» графического фреймворка Qt для языка программирования Python, выполненный в виде расширения Python.
PyQt разработан британской компанией Riverbank Computing[1]. PyQt работает на всех платформах, поддерживаемых Qt: Linux и другие UNIX-подобные ОС, Mac OS X и Windows. Существует 2 версии: PyQt5, поддерживающий Qt 5, и PyQt4, поддерживающий Qt 4. PyQt распространяется под лицензиями GPL (2 и 3 версии) и коммерческой[2].
Установка:
pip install pyqt5
и ждём когда скачается и установится PyQT5. После этого качаем и устанавливаем .exe установочный файл отсюда: https://sourceforge.net/projects/pyqt/files/ Если вы используете более менее свежую версию Python и PyQT будьте готовы, что примеры из книг 2012-14 года выпуска могут банально не совместимы с вашим софтом. Вместе с PyQT ставится куча полезных примеров - папку с ними можно найти в меню Пуск
Для создание шаблона окна нам понадобиться программа "Designer"
PyQt практически полностью реализует возможности Qt. А это более 600 классов[3], более 6000 функций и методов, включая:
- Существующий набор виджетов графического интерфейса;
- стили виджетов;
- доступ к базам данных с помощью SQL (ODBC, MySQL, PostgreSQL, Oracle);
- QScintilla, основанный на Scintilla виджет текстового редактора;
- поддержку интернационализации (i18n);
- парсер XML;
- поддержку SVG;
- интеграцию с WebKit, движком рендеринга HTML;
- поддержку воспроизведения видео и аудио.
Раньше PyQt поставлялся вместе со средой разработки Eric, написанной на PyQt. Eric имеет встроенный отладчик и может быть использована для создания консольных программ. Теперь она доступна в качестве отдельного проекта[4][5][6].
То есть PyQt -это программирование в графическом видео,ну вот так:
То есть вы заходите ,и делаете интерфейс для своей программы. Ну согласитесь в PyQt'е проще "нарисовать" программу чем в tkinter.То есть вы создали ваш шаблон окна.Далее этот файл с расширением .ui вы сохраняете в отдельную пустую папку потом открываете cmd и из cmd переходите в эту папку и выполняете команду:
pyuic5 <название файла>.ui -o <Название вашего нового скрипта>.py
В этой папке у вас появиться ваш .py файл и если вы его откроете то увидите строки кода далее вам понадобиться default шаблон:
Код:
import sys
# Импортируем наш интерфейс из файла
from vash_ui import *
from PyQt5 import QtCore, QtGui, QtWidgets
class MyWin(QtWidgets.QMainWindow):
def __init__(self, parent=None):
QtWidgets.QWidget.__init__(self, parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
# Здесь прописываем событие нажатия на кнопку
self.ui.pushButton.clicked.connect(self.MyFunction)
# Пока пустая функция которая выполняется
# при нажатии на кнопку
def MyFunction(self):
pass
if __name__=="__main__":
app = QtWidgets.QApplication(sys.argv)
myapp = MyWin()
myapp.show()
sys.exit(app.exec_())
Где написано "vash_ui import" вы импортируете ваш .py который у вас в папке.Ну а дальше вы назначаете пишете действия кнопкам,выводите надписи и т.д. Но это сделано для удобства, и это можно не делать.Можно просто писать с использованием Pyqt
Пример:
Код:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import QWidget, QMessageBox, QApplication
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Message box')
self.show()
def closeEvent(self, event):
reply = QMessageBox.question(self, 'Message',
"Are you sure to quit?", QMessageBox.Yes |
QMessageBox.No, QMessageBox.No)
if reply == QMessageBox.Yes:
event.accept()
else:
event.ignore()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
Это пример обычного диалогового окна,то есть у вас получиться вот это:
В tkinter для создание такого окна был бы такой код:
Код:
from tkinter import *
from tkinter import messagebox as mb
def check():
answer = mb.askyesno(title="Massege", message="Are you sure exit??")
if answer == True:
s = entry.get()
entry.delete(0, END)
label['text'] = s
root = Tk()
entry = Entry()
entry.pack(pady=10)
Button(text='Передать', command=check).pack()
label = Label(height=3)
label.pack()
root.mainloop()
Последнее редактирование: