Читаем Создание настольных Python приложений с графическим интерфейсом пользователя полностью

Затем мы создаем QApplication с помощью команды:

app = QApplication

Это требование Qt — каждое приложение с графическим интерфейсом должно иметь ровно один экземпляр QApplication.

Здесь квадратные скобки представляют аргументы командной строки, переданные приложению.

Так как наше приложение не использует никаких параметров, мы оставляем скобки пустыми.

Далее мы создаем простую метку 'Привет, мир!'.

И затем мы говорим 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

документации.



Теперь, приложениям обычно требуются дополнительные файлы данных помимо исходного кода — например, изображения.

И вот здесь может быть полезен ApplicationContext.

Вы можете поместить ресурсы приложения в папку resources, и чтобы упростить загрузку ресурсов из папки resources, fbs предоставляет метод ApplicationContext.get_resource.

Этот метод принимает имя файла, который можно найти в папке resources, и возвращает абсолютный путь к этому файлу.

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

Папка resources должна содержать папку base плюс любую комбинацию других папок.

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

Теперь, далее мы можем использовать fbs, чтобы превратить файл питона в отдельный исполняемый файл.



Для этого в терминале наберем команду fbs freeze.

Эта команда помещает исполняемый двоичный файл в целевую папку текущего каталога.

Далее мы можем создать установщик приложения.



Но для начала мы должны установить NSIS — систему с открытым исходным кодом для создания установщиков Windows.



Также нужно добавить каталог NSIS в переменную среды

Windows

PATH.

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



Далее создадим установщик с помощью команды fbs installer.

Эта команда помещает исполняемый двоичный файл в целевую папку текущего каталога.

Теперь вы можете отправлять его для установки приложения.

Виджеты и компоновки PyQt



Система компоновки Qt предоставляет простой и мощный способ организации дочерних виджетов внутри родительского виджета.



Qt предоставляет набор классов управления компоновкой.

Эти компоновки автоматически позиционируют и изменяют размер виджетов.

И все виджеты Qt могут использовать компоновки для управления своими дочерними элементами с помощью функции setLayout.



Здесь мы с помощью компоновки QHBoxLayout располагаем метки горизонтально в окне QWidget.



Компоновка QVBoxLayout размещает метки вертикально.



Перейти на страницу:

Похожие книги

Основы информатики: Учебник для вузов
Основы информатики: Учебник для вузов

Учебник состоит из двух разделов: теоретического и практического. В теоретической части учебника изложены основы современной информатики как комплексной научно-технической дисциплины, включающей изучение структуры и общих свойств информации и информационных процессов, общих принципов построения вычислительных устройств, рассмотрены вопросы организации и функционирования информационно-вычислительных сетей, компьютерной безопасности, представлены ключевые понятия алгоритмизации и программирования, баз данных и СУБД. Для контроля полученных теоретических знаний предлагаются вопросы для самопроверки и тесты. Практическая часть освещает алгоритмы основных действий при работе с текстовым процессором Microsoft Word, табличным редактором Microsoft Excel, программой для создания презентаций Microsoft Power Point, программами-архиваторами и антивирусными программами. В качестве закрепления пройденного практического курса в конце каждого раздела предлагается выполнить самостоятельную работу.

Вадим Васильевич Лысенко , Лариса Александровна Малинина , Максим Анатольевич Беляев

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
Цифровой журнал «Компьютерра» № 24
Цифровой журнал «Компьютерра» № 24

ОглавлениеБольшие новостиMicrosoft BizSpark: поиски инвесторов и менторов Автор: Григорий РудницкийNASA открыло виртуальную лунную базу Автор: Михаил КарповТерралабПромзона: Катушка с лупой Автор: Николай МаслухинPixel Qi: дисплеи, не слепнущие на солнце Автор: Юрий ИльинПромзона: Батарейки Microsoft Автор: Николай МаслухинСофт: Process Explorer — порнобаннер в прицеле Автор: Николай МаслухинSynaptics: тачпады нового поколения Автор: Олег НечайПромзона: Очки-суфлер Автор: Николай МаслухинМобильный интернет для малого бизнеса Автор: Максим БукинВещь дня: беззеркальная камера Lumix G2 Автор: Андрей ПисьменныйHDBaseT 1.0: дешёвая замена HDMI Автор: Олег НечайПромзона: Воздушный холодильник Автор: Николай МаслухинСофт: Настраиваем Ubuntu с помощью Ubuntu Tweak Автор: Крестников ЕвгенийПромзона: Бескрайний бассейн Автор: Николай МаслухинСпособы обмана в мобильных сетях Автор: Максим БукинСвоя играВасилий Щепетнёв: О пользе словаря Автор: Василий ЩепетневКивино гнездо: Человек против обмана Автор: Берд КивиMicrosoft: что пошло не так Автор: Андрей ПисьменныйКафедра Ваннаха: Скольжение к сингулярности Автор: Ваннах МихаилВасилий Щепетнёв: Гамбит Форт-Росс Автор: Василий ЩепетневКафедра Ваннаха: Облачное программирование и Пуэрто-Рико Автор: Ваннах МихаилВасилий Щепетнёв: Следы на целлулоиде Автор: Василий ЩепетневКивино гнездо: Конфликт криптографии и бюрократии Автор: Берд КивиИнтерактивЛюдмила Булавкина, директор YouDo по маркетингу, о любительском контенте Автор: Юрий ИльинМакс Зацепин и Глеб Никитин о музыкальной игре для iPad Автор: Юрий ИльинСергей Матиясевич (3D Bank) о рынке трёхмерных моделей Автор: Юрий ИльинВ. Репин (ИХБФМ СО РАН) о бактерии из вечной мерзлоты Автор: Алла АршиноваДмитрий Завалишин об операционной системе «Фантом» Автор: Андрей ПисьменныйБлогиАнатолий Вассерман: «Марс-500» Автор: Анатолий ВассерманКак большой оператор споткнулся о маленького SaaS-провайдера Автор: Анисимов КонстантинАнатолий Вассерман: Дальневосточные «партизаны» Автор: Анатолий ВассерманГолубятня-ОнлайнГолубятня: Сидр №4 Автор: Сергей ГолубицкийГолубятня: Бедность Автор: Сергей Голубицкий

Журнал «Компьютерра»

Зарубежная компьютерная, околокомпьютерная литература
Внедрение SAP R/3: Руководство для менеджеров и инженеров
Внедрение SAP R/3: Руководство для менеджеров и инженеров

Это практическое всеобъемлющие руководство было написано специально для тех, кто выбирает стратегию внедрения SAP в организации. «Внедрение SAP R/3: руководство для менеджеров и инженеров» объясняет, что означает понятие «эпоха ERP», почему информация является одним из ключевых ресурсов предприятия, как SAP способствует росту конкурентоспособности компании, а также преимущества методологии ASAP в планировании и использовании ресурсов при внедрении SAP. Подход к ERP-системам, используемый в данной книге, будет крайне полезен менеджерам и специалистам, которым необходимо представить высшему руководству своих компаний основания для внедрения SAP; кроме того, данная книга будет весьма полезной тем, кто занимается проектами SAP или планирует такой проект в ближайшем будущем. Для тех читателей, кто непосредственно занят в проектах SAP, эта книга станет надежным руководством и поможет внести существенный вклад в развитие проекта.

Вивек Кале

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT