Гайд Интерфейс(GUI) для Python

Mamashin

Известный
Автор темы
969
517
Вступление:
- Данная тема написана как для начинающих так и для профессионалов.
- В данной теме я покажу вам как можно сделать GUI интерфейс для питона по шагам объясняя свои действия.
- Так же, напишем маленький функционал для нашего интерфейса.


Приступая к работе:
- В первую очередь убедитесь, что у вас установлен питон(если нет качаем -
python.org желательно 3.9 версию)
- Затем качаем QtDesigner(область создания интерфейса) - Скачать Qt

- Затем же, открываем консоль/терминал(кто не знает что это - читаем другие мои гайды либо закрываем данную тему)
- Устанавливаем следующие модули:
pip install PyQt5 - сам модуль для работы с Qt Designer
pip install pyqt5-tools - инструменты
После всего этого, можем открывать саму программу создания интерфейса и читать далее!

Гайд:
Итак, вы открыли Qt, у вас сразу же спрашивают про тип окна и нашего будущего "приложения", если вы пишите, что то функциональное выбираем MainWindow или Wighet, остальное можно использовать для вызовов при ошибках - эта нам пока что не нада.
Screenshot_1.png

После этого у нас открывается полный функционал и свобода действий, можем делать что угодно.
Для начинающих этого фрейма советую сначала побаловаться разными вещами слева и посмотреть, что это и как они работают.
Для олдов же понятно что где.

После самостоятельного исследования(надеюсь) можем приступать к работе, чтобы запустить предпросмотр нашего интерфейса достаточно нажать LCtrl + R
Screenshot_2.png

Закрыть можно на крестик(шок!!)
Думаю, что многие поняли, что можно сделать все что угодно хоть калькулятор, хоть управление домом, хоть отправить ракету на Украину
В своем же случаи, я буду писать отправку сообщений самому себе в ВК по нажатию кнопок, а затем скомпилирую в exe и буду открывать сколько хочу и где хочу даже без Python(да-да).

Вот, что у меня вышло из написания интерфейса:
Screenshot_3.png

Так же, для есть возможность все это обширно редактировать и накладывать CSS стили(FrontEnd-разрабы потекли я уверен)
Но, так как это гайд, я не буду особо писать стили, просто сделаю изменение цвета при клике на кнопку! Как по мне выглядит все это итак более чем.
Вот что у меня получилось:
Screenshot_4.png
Screenshot_5.png

После того как вы закончили творить, нам нужно сохранить наш интерфейс куда-нибудь(желательно в отдельную папку) - ОБЯЗАТЕЛЬНО СОХРАНЯЕМ В ФОРМАТЕ .ui
Я сохраню в папку shock потому что это и есть шок!
Screenshot_6.png

Теперь можно закрыть Qt и открыть консоль/эмулятор консоли/терминал.
Пишем там вот такую штуку, вставляя свои названия(для пайтон файла советую что то обычное по типу main, так как работать мы будем не в нём)
Screenshot_7.png

Жмём интер - и все. У нас есть интерфейс конвертированный в py, теперь осталось приделать к элементам интерфейса функции(АБСОЛЮТНО ЛЮБЫЕ)
Теперь там же, нам нужно создать еще 1 py файл, я же создал shock.py и уже написал в нём базовую структуру открытия нашего интверфейса


Открытие файла::
from PyQt5 import QtWidgets # Импортируем модуль
from main import Ui_MainWindow  # Импорт элементов из нашего файла
import sys

# класс в котором открывается все это дело
class mywindow(QtWidgets.QMainWindow):
    def __init__(self):
        super(mywindow, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)


app = QtWidgets.QApplication([])
application = mywindow()
application.show()

sys.exit(app.exec())

Screenshot_8.png

На данном моменте можно приступать к написанию функций к нашим кнопкам, прикреплять каждую функцию - я не буду, напишу сразу все и затем покажу вам все.

Screenshot_9.png
Во время написания этого гайда у меня появилась куча мелких проблем касаемо личной жизни, поэтому я решил убрать половину функций и оставил только отправку сообщений и выход из программы на определенную кнопку, прошу прощения.. Но кто знает api например pyown или datetime в прицепе догадались, что сделать с интерфейсом можно не мало, ниже оставлю зип файл со всеми исходниками и спойлеры, еще раз прошу прощения за такую короткую демонстрацию(ВСЕ СТРОКИ В КОДЕ ИМЕЮТ СВОЙ КОММЕНТАРИЙ!)

Screenshot_1.png
Screenshot_2.png
 

Вложения

  • shock.rar
    3.9 KB · Просмотры: 30

Mamashin

Известный
Автор темы
969
517
сразу для новых комментаторов - гением, извините я правда не мог растягивать физически этот гайд дальше
 

F0RQU1N and

Известный
1,308
494
я точно такой же гайд на ютубе видел + конвертировать в код можно прямо в qt designer(без консоли и т.d)
 
  • Влюблен
Реакции: Mamashin

Mamashin

Известный
Автор темы
969
517
я точно такой же гайд на ютубе видел + конвертировать в код можно прямо в qt designer(без консоли и т.d)
хз, я просто начал учить данный фрейм месяц назад, еще есть pyside и pyside 2, но я показал так как делаю я "по старинке" ✌️
 

lovii

Новичок
28
2
Есть гайдик покруче от "Типичного программиста"