ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Python (https://forum.antichat.xyz/forumdisplay.php?f=205)
-   -   Интерфейс(GUI) для Python (https://forum.antichat.xyz/showthread.php?t=1385806)

Mamashin 25.04.2021 07:06

Вступление:

- Данная тема написана как для начинающих так и для профессионалов.

- В данной теме я покажу вам как можно сделать GUI интерфейс для питона по шагам объясняя свои действия.

- Так же, напишем маленький функционал для нашего интерфейса.

Приступая к работе:

- В первую очередь убедитесь, что у вас установлен питон(если нет качаем -
python.orgжелательно 3.9 версию)

- Затем качаем QtDesigner(область создания интерфейса) - Скачать Qt


- Затем же, открываем консоль/терминал(кто не знает что это - читаем другие мои гайды либо закрываем данную тему)

- Устанавливаем следующие модули:

pip install PyQt5 - сам модуль для работы с Qt Designer

pip install pyqt5-tools - инструменты

После всего этого, можем открывать саму программу создания интерфейса и читать далее!

Гайд:

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

Цитата:

Сообщение от Спойлер



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

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

Для олдов же понятно что где.

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

Цитата:

Сообщение от Спойлер

Закрыть можно на крестик(шок!!)

Думаю, что многие поняли, что можно сделать все что угодно хоть калькулятор, хоть управление домом, хоть [S]отправить ракету на Украину[/S]

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

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

Цитата:

Сообщение от Спойлер

Так же, для есть возможность все это обширно редактировать и накладывать CSS стили(FrontEnd-разрабы потекли я уверен)

Но, так как это гайд, я не буду особо писать стили, просто сделаю изменение цвета при клике на кнопку! Как по мне выглядит все это итак более чем.

Вот что у меня получилось:

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

Я сохраню в папку shock потому что это и есть шок!

Цитата:

Сообщение от Спойлер

Screenshot_6.pngMamashin · 25 Апр 2021 в 06:06' data-fancybox="lb-post-725070" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/94484/" style="cursor: pointer;" title="Screenshot_6.png">
https://forum.antichat.xyz/attachmen...57f1c62347.png


Теперь можно закрыть Qt и открыть консоль/эмулятор консоли/терминал.

Пишем там вот такую штуку, вставляя свои названия(для пайтон файла советую что то обычное по типу main, так как работать мы будем не в нём)

Цитата:

Сообщение от Спойлер

Жмём интер - и все. У нас есть интерфейс конвертированный в 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
(
)
)



Цитата:

Сообщение от Спойлер

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

Цитата:

Сообщение от Спойлер

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

Цитата:

Сообщение от Спойлер


Цитата:

Сообщение от Спойлер


Mamashin 25.04.2021 07:11

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

F0RQU1N and 25.04.2021 08:04

я точно такой же гайд на ютубе видел + конвертировать в код можно прямо в qt designer(без консоли и т.d)

Mamashin 25.04.2021 08:39

Цитата:

Сообщение от f0kk1s

я точно такой же гайд на ютубе видел + конвертировать в код можно прямо в qt designer(без консоли и т.d)

хз, я просто начал учить данный фрейм месяц назад, еще есть pyside и pyside 2, но я показал так как делаю я "по старинке" ✌️

TeMAn1221 26.04.2021 00:16

Здраствуйте, спасибо за информацию!

lovii 16.06.2021 11:08

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


Время: 18:46