делаем приложение на python и pyqt5

PyQt5: первые программы

Я начинаю перевод серии уроков PyQt5 от zetcode.

Он доступен для Python 2.x и 3.x. Этот учебник использует Python 3.

Библиотека Qt является одной из самых мощных библиотек GUI (графического интерфейса пользователя).

Установить PyQt5 на Windows можно с официального сайта библиотеки.

Установить PyQt5 на linux-системы можно с помощью любого менеджера пакетов:

PyQt5 реализован в виде набора python-модулей. Эта библиотека имеет более 620 классов и 6000 функций и методов.

Это мультиплатформенная библиотека, которая работает на всех основных операционных системах, в том числе Unix, Windows и Mac OS.

Простой пример

Это простой пример, показывающий небольшое окно. Тем не менее, мы можем многое сделать с этим окном. Мы можем изменить его размер, развернуть его или свернуть. Это требует написания значительного объёма кода. Однако кто-то уже запрограммировал эту функциональность до нас. Поскольку эта функциональность повторяется в большинстве приложений, нет необходимости писать её снова.

PyQt5 является инструментом высокого уровня. Если бы мы писали это на более низком уровне, следующий пример кода легко мог бы растянуться на сотни строк:

Приведенный выше код показывает небольшое окно на экране.

Здесь мы делаем необходимые импорты. Основные виджеты расположены в PyQt5.QtWidgets.

Каждое приложение PyQt5 должно создать объект приложения (экземпляр QApplication). Параметр sys.argv это список аргументов командной строки. Скрипты Python можно запускать из командной строки. Это способ, которым мы можем контролировать запуск наших сценариев.

Виджет QWidget это базовый класс для всех объектов интерфейса пользователя в PyQt5. Мы предоставляем конструктор по умолчанию для QWidget. Конструктор по умолчанию не имеет родителя. Виджет без родителей называется окно.

Метод resize() изменяет размеры виджета. Он стал 250 пикселей в ширину и 150 в высоту.

Метод move() двигает виджет на экране на координату x=300, y=300.

Здесь мы задаём заголовок нашего окна.

Метод show() отображает виджет на экране. Виджет сначала создаётся в памяти, и только потом (с помощью метода show) показывается на экране.

Наконец, мы попадаем в основной цикл приложения. Обработка событий начинается с этой точки. Основной цикл получает события от оконной системы и распределяет их по виджетам приложения. Основной цикл заканчивается, если мы вызываем метод exit() или главный виджет уничтожен. Метод sys.exit() гарантирует чистый выход. Вы будете проинформированы, как завершилось приложение.

Метод exec_ () имеет подчеркивание. Это происходит потому, что exec является ключевым словом в python 2.

Значок приложения

Не забудьте также скачать какую-нибудь иконку 🙂

Предыдущий пример был написан в процедурном стиле. Язык программирования Python поддерживает как процедурный, так и объектно-ориентированный стили программирования. Программирование в PyQt5 означает программирование в ООП.

Три важные вещи в объектно-ориентированном программировании это классы, данные и методы. Здесь мы создаем новый класс Example. Класс Example наследуется от класса QWidget. Это означает, что мы вызываем два конструктора: первый для класса Example и второй для родительского класса. Функция super() возвращает родительский объект Example с классом, и мы вызываем его конструктор.

Создание GUI делегируется методу initUI().

Все три метода были унаследованы от класса QWidget.

Последний метод устанавливает иконку приложения. Чтобы сделать это, мы создали объект QIcon. QIcon получает путь к нашей иконке для отображения.

Создаются объекты application и Example. Запускается основной цикл.

Подсказки

Мы можем предоставить всплывающую подсказку для любого из виджетов.

В этом примере мы покажем подсказку для двух виджетов PyQt5.

Этот статический метод устанавливает шрифт, используемый для отображения подсказки. Мы используем шрифт 10px SansSerif.

Чтобы создать всплывающую подсказку, мы вызываем метод setToolTip(). Мы можем использовать форматирование текста.

Мы создаем виджет кнопки и устанавливаем подсказку для него.

Меняем размер кнопки и перемещаем относительно окна. Метод sizeHint() дает рекомендуемый размер для кнопки.

Закрытие окна

Очевидный способ закрыть окно, это нажать на крестик. В следующем примере мы покажем, как мы можем программно закрыть наше окно. Мы кратко рассмотрим сигналы и слоты.

В этом примере, мы создаем кнопку выхода. После нажатия на кнопку, приложение завершается.

Система обработки событий в PyQt5 построена на механизме сигналов и слотов. Если мы нажмем на кнопку, вызовется сигнал «нажатие». Слот может быть слот Qt или любая Python функция.

QCoreApplication содержит главный цикл обработки; он обрабатывает и диспетчеризирует все события. Метод instance() дает нам его текущий экземпляр.

Message Box

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

Если мы закрываем QWidget, генерируется QCloseEvent. Чтобы изменить поведение виджета, нам нужно переопределить обработчик события closeEvent().

Здесь мы проверяем возвращаемое значение. Если мы нажмем на кнопку Yes, мы принимаем событие, которое приводит к закрытию виджета и приложения. В противном случае мы будем игнорировать событие закрытия.

Центрирование окна на экране

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

Класс QtWidgets.QDesktopWidget предоставляет информацию о компьютере пользователя, в том числе о размерах экрана.

Код, который будет центрировать окно, находится в нами созданном методе center().

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

Мы получаем разрешение экрана нашего монитора. И с этим разрешением, мы получаем центральную точку.

Наш прямоугольник уже имеет ширину и высоту. Теперь мы установили центр прямоугольника в центре экрана. Размер прямоугольника не изменяется.

Мы двигаем верхний левый угол окна приложения в верхний левый угол прямоугольника qr, таким образом, центрируя окно на нашем экране.

В этой части урока PyQt5 мы рассмотрели некоторые основы.

Источник

Python GUI: создаём простое приложение с PyQt и Qt Designer

Авторизуйтесь

Python GUI: создаём простое приложение с PyQt и Qt Designer

делаем приложение на python и pyqt5. py qt designer 1. делаем приложение на python и pyqt5 фото. делаем приложение на python и pyqt5-py qt designer 1. картинка делаем приложение на python и pyqt5. картинка py qt designer 1.

Эта статья предназначена для тех, кто только начинает своё знакомство с созданием приложений с графическим интерфейсом (GUI) на Python. В ней мы рассмотрим основы использования PyQt в связке с Qt Designer. Шаг за шагом мы создадим простое Python GUI приложение, которое будет отображать содержимое выбранной директории.

Что нам потребуется

Нам понадобятся PyQt и Qt Designer, ну и Python, само собой.

В этой статье используется PyQt5 с Python 3, но особых различий между PyQt и PySide или их версиями для Python 2 нет.

Windows: PyQt можно скачать здесь. В комплекте с ним идёт Qt Designer.

macOS: Вы можете установить PyQt с помощью Homebrew:

$ brew install pyqt5

Скачать пакет с большинством компонентов и инструментов Qt, который содержит Qt Designer, можно по этой ссылке.

Linux: Всё нужное, вероятно, есть в репозиториях вашего дистрибутива. Qt Designer можно установить из Центра Приложений, но PyQt придётся устанавливать через терминал. Установить всё, что нам понадобится, одной командой можно, например, так:

Если вы видите сообщение, что такой команды нет или что-то в таком роде, попробуйте загуглить решение проблемы для вашей операционной системы и версии PyQt.

Дизайн

Основы

Теперь, когда у нас всё готово к работе, давайте начнём с простого дизайна.

Откройте Qt Designer, где вы увидите диалог новой формы, выберите Main Window и нажмите Create.

делаем приложение на python и pyqt5. Screenshot 20180324 224050. делаем приложение на python и pyqt5 фото. делаем приложение на python и pyqt5-Screenshot 20180324 224050. картинка делаем приложение на python и pyqt5. картинка Screenshot 20180324 224050.

После этого у вас должна появиться форма — шаблон для окна, размер которого можно менять и куда можно вставлять объекты из окна виджетов и т.д. Ознакомьтесь с интерфейсом, он довольно простой.

Теперь давайте немного изменим размер нашего главного окна, т.к. нам не нужно, чтобы оно было таким большим. А ещё давайте уберём автоматически добавленное меню и строку состояния, поскольку в нашем приложении они не пригодятся.

Все элементы формы и их иерархия по умолчанию отображаются в правой части окна Qt Designer под названием Object Inspector. Вы с лёгкостью можете удалять объекты, кликая по ним правой кнопкой мыши в этом окне. Или же вы можете выбрать их в основной форме и нажать клавишу DEL на клавиатуре.

делаем приложение на python и pyqt5. Screenshot 20180324 225724. делаем приложение на python и pyqt5 фото. делаем приложение на python и pyqt5-Screenshot 20180324 225724. картинка делаем приложение на python и pyqt5. картинка Screenshot 20180324 225724.

Теперь перетащите куда-нибудь в основную форму List Widget (не List View) и Push Button из Widget Box.

Макеты

Вместо использования фиксированных позиций и размеров элементов в приложении лучше использовать макеты. Фиксированные позиции и размеры у вас будут выглядеть хорошо (пока вы не измените размер окна), но вы никогда не можете быть уверены, что всё будет точно так же на других машинах и/или операционных системах.

Макеты представляют собой контейнеры для виджетов, которые будут удерживать их на определённой позиции относительно других элементов. Поэтому при изменении размера окна размер виджетов тоже будет меняться.

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

делаем приложение на python и pyqt5. Screenshot 20180324 224534. делаем приложение на python и pyqt5 фото. делаем приложение на python и pyqt5-Screenshot 20180324 224534. картинка делаем приложение на python и pyqt5. картинка Screenshot 20180324 224534.

Теперь в меню Qt Designer нажмите Form, затем выберите Preview и увидите что-то похожее на скриншот выше. Выглядит хорошо, не так ли? Но вот что случится, когда мы изменим размер окна:

делаем приложение на python и pyqt5. Screenshot 20180324 224555. делаем приложение на python и pyqt5 фото. делаем приложение на python и pyqt5-Screenshot 20180324 224555. картинка делаем приложение на python и pyqt5. картинка Screenshot 20180324 224555.

Наши объекты остались на тех же местах и сохранили свои размеры, несмотря на то что размер основного окна изменился и кнопку почти не видно. Вот поэтому в большинстве случаев стоит использовать макеты. Конечно, бывают случаи, когда вам, например, нужна фиксированная или минимальная/максимальная ширина объекта. Но вообще при разработке приложения лучше использовать макеты.

Основное окно уже поддерживает макеты, поэтому нам ничего не нужно добавлять в нашу форму. Просто кликните правой кнопкой мыши по Main Window в Object Inspector и выберите Lay outLay out vertically. Также вы можете кликнуть правой кнопкой по пустой области в форме и выбрать те же опции:

делаем приложение на python и pyqt5. Screenshot 20180324 224725. делаем приложение на python и pyqt5 фото. делаем приложение на python и pyqt5-Screenshot 20180324 224725. картинка делаем приложение на python и pyqt5. картинка Screenshot 20180324 224725.

Ваши элементы должны быть в том же порядке, что и до внесённых изменений, но если это не так, то просто перетащите их на нужное место.

Так как мы использовали вертикальное размещение, все элементы, которые мы добавим, будут располагаться вертикально. Можно комбинировать размещения для получения желаемого результата. Например, горизонтальное размещение двух кнопок в вертикальном будет выглядеть так:

делаем приложение на python и pyqt5. Screenshot 20180324 225015. делаем приложение на python и pyqt5 фото. делаем приложение на python и pyqt5-Screenshot 20180324 225015. картинка делаем приложение на python и pyqt5. картинка Screenshot 20180324 225015.

Если у вас не получается переместить элемент в главном окне, вы можете сделать это в окне Object Inspector.

Последние штрихи

Теперь, благодаря вертикальному размещению, наши элементы выровнены правильно. Единственное, что осталось сделать (но не обязательно), — изменить имя элементов и их текст.

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

Свойства элементов можно изменить в разделе Property Editor.

Подсказка: вы можете менять размер, передвигать или добавлять часто используемые элементы в интерфейс Qt Designer для ускорения рабочего процесса. Вы можете добавлять скрытые/закрытые части интерфейса через пункт меню View.

Измените значение objectName на btnBrowse и text на Выберите папку.

Должно получиться так:

делаем приложение на python и pyqt5. Screenshot 20180324 225310. делаем приложение на python и pyqt5 фото. делаем приложение на python и pyqt5-Screenshot 20180324 225310. картинка делаем приложение на python и pyqt5. картинка Screenshot 20180324 225310.

Сохраните дизайн как design.ui в папке проекта.

Превращаем дизайн в код

Пишем код

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

Используем дизайн

Для Python GUI приложения понадобятся следующие модули:

Также нам нужен код дизайна, который мы создали ранее, поэтому его мы тоже импортируем:

В этом классе мы будем взаимодействовать с элементами интерфейса, добавлять соединения и всё остальное, что нам потребуется. Но для начала нам нужно инициализировать класс при запуске кода. С этим мы разберёмся в функции main() :

И чтобы выполнить эту функцию, мы воспользуемся привычной конструкцией:

В итоге main.py выглядит таким образом:

делаем приложение на python и pyqt5. Screenshot 20180324 225529. делаем приложение на python и pyqt5 фото. делаем приложение на python и pyqt5-Screenshot 20180324 225529. картинка делаем приложение на python и pyqt5. картинка Screenshot 20180324 225529.

Но нажатие на кнопку ничего не даёт, поэтому нам придётся с этим разобраться.

Добавляем функциональность в наше Python GUI приложение

Начнём с кнопки Выберите папку. Привязать к функции событие вроде нажатия на кнопку можно следующим образом:

Для открытия диалога выбора папки мы можем использовать встроенный метод QtWidgets.QFileDialog.getExistingDirectory :

Для отображения содержимого директории нам нужно импортировать os :

И получить список содержимого следующим образом:

В итоге функция browse_folder должна выглядеть так:

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

делаем приложение на python и pyqt5. Screenshot 20180324 225614. делаем приложение на python и pyqt5 фото. делаем приложение на python и pyqt5-Screenshot 20180324 225614. картинка делаем приложение на python и pyqt5. картинка Screenshot 20180324 225614.

Так выглядит весь код нашего Python GUI приложения:

Это были основы использования Qt Designer и PyQt для разработки Python GUI приложения. Теперь вы можете спокойно изменять дизайн приложения и использовать команду pyuic5 без страха потерять написанный код.

Источник

Собираем проект на python3&PyQT5 под Windows, используя PyInstaller

Причиной написания статьи, явилось огромное количество постоянно возникающих у новичков вопросов такого содержания: «Как собрать проект c pyqt5», «Почему не работает», «Какой инструмент выбрать» и т.д. Сегодня научимся собирать проекты без мучений и танцев с бубном.

Как-то пришлось написать небольшое desktop-приложение. В качестве языка программирования для разработки был выбран python, поскольку для решения моей задачи он подходил идеально. В стандартную библиотеку Python уже входит библиотека tkinter, позволяющая создавать GUI. Но проблема tkinter в том, что данной библиотеке посвящено мало внимания, и найти в интернете курс, книгу или FAQ по ней довольно-таки сложно. Поэтому было решено использовать более мощную, современную и функциональную библиотеку Qt, которая имеет привязки к языку программирования python в виде библиотеки PyQT5. Более подробно про PyQT можете почитать здесь. В качестве примера я буду использовать код:

Существует большое количество библиотек, позволяющих это сделать, среди которых самые популярные: cx_Freeze, py2exe, nuitka, PyInstaller и др. Про каждую написано довольно много. Но надо сказать, что многие из этих решений позволяют запускать код только на компьютере, с предустановленным интерпретатором и pyqt5. Не думаю, что пользователь будет заморачиваться и ставить себе дополнительные пакеты и программы. Надеюсь, вы понимаете, что запуск программы на dev-среде и у пользователя это не одно и тоже. Также нужно отметить, что у каждого решения были свои проблемы: один не запускался, другой собирал то, что не смог потом запустить, третий вообще отказывался что-либо делать.

После долгих танцев с бубном и активным гуглением, мне все же удалось собрать проект с помощью pyinstaller, в полностью работоспособное приложение.

Немного о Pyinstaller

Pyinstaller собирает python-приложение и все зависимости в один пакет. Пользователь может запускать приложение без установки интерпретатора python или каких-либо модулей. Pyinstaller поддерживает python 2.7 и python 3.3+ и такие библиотеки как: numpy, PyQt, Django, wxPython и другие.

Pyinstaller тестировался на Windows, Mac OS X и Linux. Как бы там ни было, это не кросс-платформенный компилятор: чтобы сделать приложение под Windows, делай это на Windows; Чтобы сделать приложение под Linux, делай это на Linux и т.д.

PyInstaller успешно используется с AIX, Solaris и FreeBSD, но тестирование не проводилось.

Подробнее о PyInstaller можно почитать здесь: документация.

К тому же после сборки приложение весило всего около 15 мб. Это к слову и является преимуществом pyinstaller, поскольку он не собирает все подряд, а только необходимое. Аналогичные же библиотеки выдавали результат за 200-300 мб.

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

Прежде чем приступить к сборке мы должны установить необходимые библиотеки, а именно pywin32 и собственно pyinstaller:

Чтобы убедится, что все нормально установилось, вводим команду:

должна высветиться версия pyinstaller. Если все правильно установилось, идем дальше.

В папке с проектом запускаем cmd и набираем:

Собственно это и есть простейшая команда, которая соберет наш проект.
Синтаксис команды pyinstaller таков:

Наиболее часто используемые опции:

PyInstaller анализирует файл myscript.py и делает следующее:

В итоге наша команда будет выглядеть так:

После работы программы вы найдете две папки: dist и build. Собственно в папке dist и находится наше приложение. Впоследствии папку build можно спокойно удалить, она не влияет на работоспособность приложения.

Спасибо за внимание. Надеюсь статья была вам полезна.

Источник

PyQt5 для начинающих

Привет, Хабр! Сегодня я вас хочу научить делать интерфейс на Python 3&PyQt5.

Установка PyQt5

Для того, чтобы установить PyQt5 в Windows или MacOS, откройте Командную строку или Терминал и введите:

Для Linux, откройте Терминал и введите:

Hello, World!

А сейчас сделаем Hello World приложение. Создайте файл Python, откройте его и введите такой код:

Когда вы запустите, должна получится примерно такая картина:

делаем приложение на python и pyqt5. image loader. делаем приложение на python и pyqt5 фото. делаем приложение на python и pyqt5-image loader. картинка делаем приложение на python и pyqt5. картинка image loader.Окно Hello, world на Ubuntu

Меняем шрифт надписи

А теперь поменяем шрифт надписи. Теперь код станет таким:

Пример рассчитан на то, что у вас уже установлен шрифт Rubik от Google Fonts. Если нет, его всегда можно скачать отсюда.

Более продвинутая разметка с XHTML

А теперь добавим XHTML. Например, так:

Шпаргалка по XHTML

Код (моноширным шрифтом)

Размер текста 16 пунктов

Текст на ярко-зелёном фоне.

Выравнивание по центру

Больше надписей!

А теперь сделаем 2 надписи:

На вторую я тоже добавил форматирование (подчёркивание), а у первой убрал 123.

Окно без resize()

Все предыдущие примеры использовали такую конструкцию:

Но без этой конструкции можно обойтись, так как виджеты будут сами себе расчищать место.

Подсказки

Ко всем виджетам можно добавить подсказку. Например (привожу только важную для понимания часть кода):

Эпилог

Вот и всё. В следующей части я постараюсь описать кнопки, меню и события.

О песочнице

Это «Песочница» — раздел, в который попадают дебютные посты пользователей, желающих стать полноправными участниками сообщества.

Если у вас есть приглашение, отправьте его автору понравившейся публикации — тогда её смогут прочитать и обсудить все остальные пользователи Хабра.

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

О модерации

Не надо пропускать:

Источник

Делаем приложение на python и pyqt5

В данном уроке по PyQt5 мы изучим, как использовать Пайтон и Qt для создания графического интерфейса пользователя в самых распространённых операционных системах.

Что такое pyqt5

PyQt – это модуль, предназначенный для создания графических интерфейсов в Python через библиотеку Qt. Эта библиотека написана на языке C++ и является одним из самых популярных инструментов разработки GUI, а также имеет обширное сообщество. Существует и альтернатива: модуль PySide. Различаются они тем, что PyQt нельзя свободно использовать в коммерческих проектах, однако, этот модуль, всё же, более зрелый. Существуют и другие распространённые средства создания графических интерфейсов:

Установка pyqt

Устанавливать модуль будем в виртуальную среду. Для этого вводим в консоли:

Эта команда создаст папку venv/. Чтобы запустить виртуальную среду в ОС Windows, выполните следующую команду:

Для остальных ОС это делается так:

Если всё получилось, в начале строки в терминале появится префикс (venv).

Теперь, для установки PyQt с помощью pip, выполните следующую команду:

Создание gui графического интерфейса пользователя

Теперь можно приступить к созданию интерфейса. Сперва модуль надо импортировать:

Теперь необходимо создать объект приложения QApplication при помощи следующей команды:

В объект приложения необходимо передавать список аргументов. В данном случае он пустой [], но, общепринятая практика писать следующим образом:

sys.argv – аргументы командной строки и теперь Вы можете запустить свой скрипт из консоли, передав при этом какие-то аргументы.

Дальше нужно создать виджет (о них мы поговорим чуть позже):

На данный момент наш маленький интерфейс готов, но, чтобы его увидел пользователь, надо использовать метод show:

делаем приложение на python и pyqt5. 1. делаем приложение на python и pyqt5 фото. делаем приложение на python и pyqt5-1. картинка делаем приложение на python и pyqt5. картинка 1.

Внешний вид будет зависеть от Вашей операционной среды.

Осталось запустить приложение:

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

Метод sys.exit() обеспечивает чистый выход. Вы сможете узнать, как завершилось приложение.

Виджеты

Виджеты – это все видимые части интерфейса. Они могут быть вложены друг в друга.

На этом изображении представлены самые часто встречающиеся виджеты:

делаем приложение на python и pyqt5. 2. делаем приложение на python и pyqt5 фото. делаем приложение на python и pyqt5-2. картинка делаем приложение на python и pyqt5. картинка 2.

Они перечислены ниже в порядке сверху вниз и слева направо:

Есть ещё несколько важных методов виджетов, о которых нельзя не рассказать:

resize() — изменяет размеры виджета.

move() — двигает виджет на экране.

setWindowTitle() – устанавливает название окна.

Этот код создаёт пустое окно размером 750*650 пикселей, расположенное в верхнем левом углу. Название окна — ‘My Window’.

Есть ещё очень важный инструмент для создания интерфейсов — Qt Designer. Это программа, которая делает проще процесс создания графического интерфейса программы, конечно внешний вид можно сделать и без помощи данной программы, но не для всех это будет удобно. На данный момент разработчики прекратили поддержку этого инструмента.

Макеты

Чаще всего приложение состоит из целого набора виджетов. Если так, то нужно объяснить Qt, как их разместить внутри окна. Например, вы можете использовать QHBoxLayout для горизонтального расположения виджетов:

делаем приложение на python и pyqt5. 3. делаем приложение на python и pyqt5 фото. делаем приложение на python и pyqt5-3. картинка делаем приложение на python и pyqt5. картинка 3.

Листинг кода, создающего окно, представленное на изображении выше:

Что здесь происходит? Сперва мы импортируем необходимые модули, затем создаём объект приложения. Создаём виджет типа QWidget. Это базовый тип, не имеющий поведения. Дальше инициируем макет (mylayout), а в нём две кнопки QPushButton. Строка mywindow.setLayout(mylayout) говорит QT что для виджета mywindow будет использоваться именно этот макет. Делаем всё это видимым и запускаем.

Qt включает набор классов управления компоновкой, которые используются для описания компоновки виджетов в пользовательском интерфейсе приложения. Эти макеты автоматически позиционируют и изменяют размер виджетов, когда объем доступного для них места изменяется, гарантируя, что они единообразно расположены и пользовательский интерфейс в целом остается пригодным для использования. Вот список макетов:

QHBoxLayout – располагает виджеты горизонтально.

QVBoxLayout — располагает виджеты вертикально.

QGridLayout – сеточный макет. Этот макет делит пространство на строки и столбцы.

QFormLayout — размещает свои дочерние элементы в виде двух столбцов.

Если Вы знакомы с языком CSS, то, конечно же, заметили что QHBoxLayout и QVBoxLayout похожи на flexbox, а QGridLayout – на grid.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *