Читаем Создание настольных 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
Внедрение SAP R/3: Руководство для менеджеров и инженеров
Внедрение SAP R/3: Руководство для менеджеров и инженеров

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

Вивек Кале

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
В шаге от вечности. Как я стал киборгом, чтобы победить смерть
В шаге от вечности. Как я стал киборгом, чтобы победить смерть

• Захватывающая история от первого лица – ученого, который решил превратиться в киборга, чтобы победить неизлечимую болезнь, поразившую его ЦНС.• Реальный опыт использования самых последних достижений робототехники, ИИ и хирургии в создании получеловека-полуробота.• Описание эксперимента, который способен изменить будущее смертельно больных людей.В 2017 году американскому ученому-робототехнику Питеру Скотту-Моргану диагностировали боковой амиотрофический склероз – болезнь, которую врачи признают неизлечимой (этот недуг в свое время разрушил нервные клетки Стивена Хокинга). Но Скотт-Морган не сдался. Он использовал обширные знания, опыт и новейшие технологии, чтобы заменить часть пострадавших функций своего организма электроникой. Затем ученый решил переместить свой аватар в компьютер с помощью искусственного интеллекта и стать Питером 2.0, чтобы не просто победить болезнь, но получить шанс на вечную жизнь в машине. Эта книга описывает эксперимент, похожий на сюжет научно-фантастического фильма, однако совершенно реальный. Благодаря стараниям ученого люди с инвалидностью получают шанс выжить. Эксперимент Питера 2.0 способен изменить будущее.Цитаты«Была зима. Мы отправились в погоню за северным сиянием и забрались уже очень далеко к северу от полярного круга, где я и отмокал в тот день в горячей ванне. Потом встал – вода была еще теплой – и вытер полотенцем все тело выше колен. Поднял левую ногу, стряхнул капли, как собака, которая наступила во что-то неприятное, и поставил ее на коврик. Как следует отряхнуть правую ногу я не смог. Она лишь слегка колыхалась».«Каждому человеку от рождения дано право изменить мир. К этому выводу я пришел к своему шестнадцатому дню рождения, и мне нравилось думать, что добиться перемен можно, только нарушая правила».«Месяца четыре, если не ошибаюсь, я провел в стадии отрицания, прежде чем принять, наконец, для себя новую истину: вероятно, это не просто период. Вероятно, я сейчас не просто экспериментирую с новым стилем жизни, подразумевающим ограниченные возможности, чтобы потом вернуться к привычному, как у всех, темпу передвижения. Вероятно, теперь я инвалид».Для кого:Для тех, кто интересуется последними достижениями в области ИИ, хирургии и робототехники.

Питер Скотт-Морган

Зарубежная компьютерная, околокомпьютерная литература