• VLMI - форум по обмену информацией. На форуме можете найти способы заработка, разнообразную информацию по интернет-безопасности, обмен знаниями, курсы/сливы.

    После регистрации будут доступны основные разделы.

    Контент форума создают пользователи, администрация за действия пользователей не несёт ответственности, отказ от ответственности. Так же перед использованием форума необходимо ознакомиться с правилами ресурса. Продолжая использовать ресурс вы соглашаетесь с правилами.
  • Подпишись на наш канал в Telegram для информации о актуальных зеркалах форума: https://t.me/vlmiclub

PyQT5 или простой конструктор для программиста

Miron_T31

Местный
Сообщения
195
Реакции
160
0 руб.
Привет всем,сегодня я бы хотел рассказать о простом конструкторе программ для 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 ставится куча полезных примеров - папку с ними можно найти в меню Пуск
20170310164818316.png
Для создание шаблона окна нам понадобиться программа "Designer"
PyQt практически полностью реализует возможности Qt. А это более 600 классов[3], более 6000 функций и методов, включая:
PyQt также включает в себя Qt Designer (Qt Creator) — дизайнер графического интерфейса пользователя. Программа pyuic генерирует Python код из файлов, созданных в Qt Designer. Это делает PyQt очень полезным инструментом для быстрого прототипирования. Кроме того, можно добавлять новые графические элементы управления, написанные на Python, в Qt Designer.
Раньше PyQt поставлялся вместе со средой разработки Eric, написанной на PyQt. Eric имеет встроенный отладчик и может быть использована для создания консольных программ. Теперь она доступна в качестве отдельного проекта[4][5][6].
То есть PyQt -это программирование в графическом видео,ну вот так:
Qt_Designer_(rus).png
То есть вы заходите ,и делаете интерфейс для своей программы. Ну согласитесь в 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_())

Это пример обычного диалогового окна,то есть у вас получиться вот это:
messagebox.png
В 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()
Ну и надо будет еще назначить функцию выхода из программы.А на этом все.Спасибо за внимание!
 
Последнее редактирование:

kalk

Новичок
Сообщения
1
Реакции
0
0 руб.
[quite]
pip install pyqt5
и ждём когда скачается и установится PyQT5. После этого качаем и устанавливаем .exe установочный файл отсюда:
[/quite]А какой именно файл скачивать?
 
Сверху Снизу