chitay-knigi.com » Разная литература » Создание настольных Python приложений с графическим интерфейсом пользователя - Тимур Машнин

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 3 4 5 6 7 8 9 10 11 ... 13
Перейти на страницу:
его функцию askopenfilename.

А для выбора цвета Tkinter предоставляет всплывающее меню.

Для этого мы должны импортировать модуль colorchooser и использовать метод askColor.

Tkinter представляет возможность создавать раскрывающиеся меню, то есть списки в верхней части окна, которые появляются или раскрываются, если вы нажимаете на такой элемент, как, например, «Файл», «Редактировать» или «Справка».

Меню добавляется в окно с помощью метода config и параметра menu.

Далее метод add_cascade создает новое иерархическое меню, связывая данное меню с родительским меню.

Метод add_command добавляет пункт меню в меню.

При этом параметр command связывает с пунктом меню функцию.

Кнопка меню — это часть раскрывающегося меню, которое постоянно отображается на экране.

И кнопка меню может отображать варианты выбора для этого меню, когда пользователь нажимает на нее.

Здесь параметр relief определяет эффекты затенения границ кнопки.

Метод add_checkbutton добавляет флажок как пункт меню, так как каждая кнопка меню связана с виджетом меню.

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

Tkinter имеет три менеджера компоновки pack, grid и place.

И не разрешено смешивать три менеджера компоновки в одном главном окне!

Менеджеры геометрии выполняют различные функции, такие как расположение виджетов на экране, регистрация виджетов в системе, управление отображением виджетов на экране.

Размещение виджетов на экране включает в себя определение размера и положения компонентов.

Виджеты могут предоставлять информацию о размере и выравнивании менеджерам геометрии, но менеджеры геометрии всегда имеют последнее слово по позиционированию и размеру.

Pack — самый простой в использовании из трех менеджеров геометрии.

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

Параметр expand команды pack — если установлено значение true, виджет расширяется, чтобы заполнить любое пространство родительского виджета.

Параметр fill определяет, заполняет ли виджет дополнительное пространство, выделенное ему, или сохраняет свои собственные минимальные размеры: NONE (по умолчанию), X (заливка только по горизонтали), Y (заливка только по вертикали) или BOTH (заливка как по горизонтали, так и по вертикали).

Параметр side определяет, какая сторона родительского виджета общая: TOP (по умолчанию), BOTTOM, LEFT или RIGHT.

Параметр padx — внешний отступ по горизонтали.

Параметр pady — внешний отступ по вертикали.

Параметр ipadx — внутренний отступ по горизонтали.

Параметр ipady — внутренний отступ по вертикали.

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

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

Параметр anchor метода place позволяет указать привязку виджета, это может быть N, E, S, W, NE, NW, SE или SW, то есть направления по компасу, указывающие углы и стороны виджета, по умолчанию это NW (левый верхний угол).

Параметр bordermode указывает, что другие параметры игнорируют границу родителя или нет.

Параметры height, width указывают высоту и ширину в пикселях.

Параметры x, y указывают смещение по горизонтали и вертикали в пикселях.

Компоновка Grid помещает виджеты в двухмерную таблицу, которая состоит из ряда строк и столбцов.

И положение виджета определяется номером строки и столбца.

То есть этот менеджер геометрии организует виджеты в виде таблицы в родительском виджете.

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

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

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

Виджет Frame работает как контейнер, который отвечает за расположение других виджетов.

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

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

Метод get возвращает кортеж, содержащий текст строк с индексами от первого до последнего включительно.

Если второй аргумент опущен, возвращает текст строки, ближайшей к первой.

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

Модуль tkinter.ttk служит улучшением уже существующего модуля tk.

И модуль Ttk предоставляет 18 виджетов, 12 из которых есть в модуле Tkinter.

Добавленные виджеты — это Combobox, Notebook, Sizegrip, Progressbar, Separator и Treeview.

Здесь мы показываем создание виджета с вкладками.

Виджет ttk.Notebook управляет коллекцией окон и отображает их по одному.

Каждое дочернее окно связано с вкладкой.

И пользователь может выбирать по одной вкладке за раз, чтобы просмотреть содержимое окна.

Kivy

Kivy — это многоплатформенная среда разработки приложений для Python, которая позволяет разрабатывать приложения для Windows, Linux, Android, macOS, iOS и Raspberry Pi.

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

Она также позволяет получать доступ к мобильным API-интерфейсам для управления такими вещами, как камера на телефоне, отслеживание GPS, вибратор и т. д.

Kivy включает в себя различные модули для воспроизведения видео файлов и потоков.

Kivy использует широкий спектр виджетов, поддерживающих мультитач и жесты.

Киви использует PyGame для простого создания игр.

И PyGame поставляется с различными модулями для рисования форм, работы с цветами и воспроизведения музыки.

Для разработки Киви приложения создадим проект в

PyCharm

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

Далее мы можем запустить готовые примеры приложений Киви.

И мы можем сами теперь создавать Киви приложения.

Прежде всего мы должны импортировать kivy.

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

Далее импортируем метку.

И определим класс с функцией, которая возвращает корневой виджет — метку.

Затем инициализируем класс и вызовем его метод run, запустив приложение Киви.

К метке мы также можем применить стиль, то есть увеличить

1 ... 3 4 5 6 7 8 9 10 11 ... 13
Перейти на страницу:

Комментарии
Минимальная длина комментария - 25 символов.
Комментариев еще нет. Будьте первым.
Правообладателям Политика конфиденциальности