Создание настольных Python приложений с графическим интерфейсом пользователя. Тимур Машнин
Чтение книги онлайн.
Читать онлайн книгу Создание настольных Python приложений с графическим интерфейсом пользователя - Тимур Машнин страница 2
Так как наше приложение не использует никаких параметров, мы оставляем скобки пустыми.
Далее мы создаем простую метку 'Привет, мир!'.
И затем мы говорим Qt показать метку на экране с помощью команды show.
И последний шаг – это передать управление среде Qt и попросить ее «запустить приложение, пока пользователь не закроет его».
Это делается с помощью команды exec.
Далее нажмем правой кнопкой мыши на созданном питон файле и выберем команду
run
.
В результате будет запущено приложение и откроется окно с меткой.
Теперь у нас есть приложение с графическим интерфейсом пользователя.
И оно работает на вашем компьютере.
Вопрос – как его передать другим людям, чтобы они тоже могли его запустить?
Вы можете попросить пользователей вашего приложения установить Python и PyQt, а затем предоставить им свой исходный код.
Но это очень неудобно.
Вместо этого нам нужен исполняемый файл, который другие люди могут запускать в своих системах, ничего не устанавливая.
В Python процесс превращения исходного кода в автономный исполняемый файл называется замораживанием.
Хотя существует множество библиотек, которые решают эту проблему, например PyInstaller, py2exe и так далее, здесь мы будем использовать библиотеку под названием fbs, которая позволяет создавать автономные исполняемые файлы для приложений PyQt.
Поэтому для начала установим библиотеку fbs.
Далее мы в терминале запускаем команду fbs startproject.
В результате выполнения которой будет создана папка src/main/python/с файлом main.py.
Команда startproject создает необходимую структуру папок для приложения fbs.
Если мы наберем в терминале команду fbs run, откроется просто пустое окно.
Теперь, как нам вставить в это окно нашу метку.
Здесь вы можете заметить, что создание приложения с помощью fbs представляет новую концепцию – ApplicationContext.
При создании приложений PyQt5 обычно используется ряд компонентов или ресурсов, которые используются во всем приложении.
И ApplicationContext предоставляет центральное место для инициализации и хранения этих компонентов, а также предоставляет доступ к некоторым основным функциям fbs.
Объект ApplicationContext также создает и содержит ссылку на глобальный объект QApplication, доступный в ApplicationContext.app, так как каждое приложение Qt должно иметь один и только один объект QApplication для хранения цикла событий и основных настроек.
Теперь, чтобы вставить нашу метку, помимо QMainWindow импортируем метку.
Создадим метку и методом setAlignment установим ее посередине.
Методом setCentralWidget добавим метку в окно QMainWindow.
В результате после вызова команды fbs run мы увидим окно с меткой.
Более подробно про окно QMainWindow можно посмотреть в
QT