Гайд Альтернитива Tkinter для Python

Начинающий
Статус
Оффлайн
Регистрация
24 Май 2020
Сообщения
197
Реакции[?]
25
Поинты[?]
0
Как известно на Python возможно делать программы с интерфейсом с использованием модуля Tkinter.
Но есть альтернатива под названием QTDesigner.

Установка:
1. Прописываем в консоль: pip install pyqt5 pyqt5-tools
2. Идём в папку AppData -> Local -> Programs -> Python вашей версии (может быть даже несколько папок, если несколько версий Python) -> Lib (не путать с libs) -> site-packages -> pyqt5_tools -> Qt -> bin
3. Запускаем файл designer.exe
4. Создаём то что вам нужно. Чтобы задать стили нажмите правой кнопкой мыши на объект и stylesheet. В этом окне пишется css код. Можно также использовать псевдоклассы, такие как ::after, ::hover и т.д.
5. Сохраняем готовый UI в любую папку.
6. Переводим его из .ui в .py файл следующей командой: python -m PyQt5.uic.pyuic -x название.ui -o название.py. Внимание, чтобы открыть консоль в определённой папке нажмите на поле в котором отображён путь и введите туда cmd, либо зажав левый Shift нажмите правой кнопкой в папке в которой нужно открыть консоль и нажмите "открыть окно PowerShell здесь" или командной строки в зависимости от версии Windows.
7. Создаём ещё один .py файл с любым названием. В этом файле и будет вся наша логика приложения.
8. Вводим туда следующий код:
Код:
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from Название файла который мы превратили в .py import *

class MyWin(QtWidgets.QMainWindow):
  

    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

    def mbox(self, body, title='Error'):
        dialog = QMessageBox(QMessageBox.Information, title, body)
        dialog.exec_()

if __name__=="__main__":
    app = QtWidgets.QApplication(sys.argv)
    myapp = MyWin()
    myapp.show()
    sys.exit(app.exec_())
8. Теперь, можете загуглить свойства и функции объектов Qt и начать писать логику приложения.

Вот отличное видео по PyQt5 (
Пожалуйста, авторизуйтесь для просмотра ссылки.
) (Видео не моё)
P.S Для pyinstaller: pyinstaller -F -W -i Абсолютный путь к иконке или относительный название.py
 
Последнее редактирование:
Пользователь
Статус
Оффлайн
Регистрация
12 Май 2020
Сообщения
105
Реакции[?]
39
Поинты[?]
0
А зачем этот кусок кода?
Python:
    def mbox(self, body, title='Error'):
        dialog = QMessageBox(QMessageBox.Information, title, body)
        dialog.exec_()
 
Эксперт
Статус
Оффлайн
Регистрация
9 Апр 2020
Сообщения
1,446
Реакции[?]
675
Поинты[?]
34K
Спасибо, по твоему гайду, чит на питоне написал, всем советую :orehus:
1594378188545.png
 
Эксперт
Статус
Оффлайн
Регистрация
9 Апр 2020
Сообщения
1,446
Реакции[?]
675
Поинты[?]
34K
Вот сделал небольшой пример с тем же кодом
Начнем с того, что у тебя стоит пай чарм а ты узаешь стандартную IDE, во вторых я сказал, что это в отладке редактора, он кста так выглядит =>

1594379592250.png
 
Барыга на минималках
Пользователь
Статус
Оффлайн
Регистрация
10 Фев 2019
Сообщения
182
Реакции[?]
57
Поинты[?]
2K
Пользователь
Статус
Оффлайн
Регистрация
12 Май 2020
Сообщения
105
Реакции[?]
39
Поинты[?]
0
Начнем с того, что у тебя стоит пай чарм а ты узаешь стандартную IDE, во вторых я сказал, что это в отладке редактора, он кста так выглядит =>

Посмотреть вложение 86411
Во первых я использовал IDLE, чтобы по быстрее запустить код, во вторых максимум, что можно сделать дизайнере, это посмотреть как будет выглядить окно в живую, но не как не делать отладку софта. А функция mbox просто делает диалог.
 
Начинающий
Статус
Оффлайн
Регистрация
24 Май 2020
Сообщения
197
Реакции[?]
25
Поинты[?]
0
Тип зачем там этот кусок, когда он не используется?
Диалоговое окно, если оно тебе не нужно - убери его. IDLE я не пользуюсь, т.к он весьма неудобен в использовании в моём понимании.
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
24 Май 2020
Сообщения
197
Реакции[?]
25
Поинты[?]
0
дизайнер собирает нечитаемый код и долго редактировать
Я не говорю, что QT это замена Tkinter, я говорю что есть альтернатива. Кто что будет юзать - дело каждого.
 
Пользователь
Статус
Оффлайн
Регистрация
22 Июн 2017
Сообщения
223
Реакции[?]
135
Поинты[?]
0
Я вобще сижу Visual Studio
VSC - самый удобный, для программирования на python (по моему мнению, конечно же, но при этом, есть куча плагинов, которые всё упрощают, да и сам дизайн по себе очень даже приятный)
 
Пользователь
Статус
Оффлайн
Регистрация
12 Май 2020
Сообщения
105
Реакции[?]
39
Поинты[?]
0
VSC - самый удобный, для программирования на python (по моему мнению, конечно же, но при этом, есть куча плагинов, которые всё упрощают, да и сам дизайн по себе очень даже приятный)
Чего стоит отладка в реальном времени
 
Сверху Снизу