Учебники

Python — Программирование GUI (Tkinter)

Python предоставляет различные варианты для разработки графических пользовательских интерфейсов (GUI). Наиболее важные из них перечислены ниже.

  • Tkinter — Tkinter — это интерфейс Python для инструментария Tk GUI, поставляемый с Python. Мы бы посмотрели этот вариант в этой главе.

  • wxPython — это интерфейс Python с открытым исходным кодом для wxWindows http://wxpython.org .

  • JPython — JPython — это порт Python для Java, который предоставляет сценариям Python беспрепятственный доступ к библиотекам классов Java на локальном компьютере http://www.jython.org .

Tkinter — Tkinter — это интерфейс Python для инструментария Tk GUI, поставляемый с Python. Мы бы посмотрели этот вариант в этой главе.

wxPython — это интерфейс Python с открытым исходным кодом для wxWindows http://wxpython.org .

JPython — JPython — это порт Python для Java, который предоставляет сценариям Python беспрепятственный доступ к библиотекам классов Java на локальном компьютере http://www.jython.org .

Есть много других доступных интерфейсов, которые вы можете найти в сети.

Tkinter Программирование

Tkinter — это стандартная библиотека GUI для Python. Python в сочетании с Tkinter обеспечивает быстрый и простой способ создания приложений с графическим интерфейсом. Tkinter предоставляет мощный объектно-ориентированный интерфейс для инструментария Tk GUI.

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

  • Импортируйте модуль Tkinter .

  • Создайте главное окно приложения с графическим интерфейсом.

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

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

Импортируйте модуль Tkinter .

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

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

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

пример

#!/usr/bin/python

import Tkinter
top = Tkinter.Tk()
# Code to add widgets will go here...
top.mainloop()

Это создаст следующее окно —

TK Window

Ткинтер Виджеты

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

В настоящее время в Tkinter существует 15 типов виджетов. Мы представляем эти виджеты, а также краткое описание в следующей таблице —

Sr.No. Оператор и описание
1 кнопка

Виджет «Кнопка» используется для отображения кнопок в вашем приложении.

2 холст

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

3 Checkbutton

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

4 запись

Виджет «Запись» используется для отображения однострочного текстового поля для принятия значений от пользователя.

5 Рамка

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

6 этикетка

Виджет «Метка» используется для предоставления надписи в одну строку для других виджетов. Он также может содержать изображения.

7 Listbox

Виджет «Список» используется для предоставления пользователю списка параметров.

8 кнопку MENU

Виджет Menubutton используется для отображения меню в вашем приложении.

9 Меню

Виджет Меню используется для предоставления различных команд пользователю. Эти команды содержатся внутри Menubutton.

10 Сообщение

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

11 Переключатель

Виджет Radiobutton используется для отображения ряда параметров в качестве переключателей. Пользователь может выбрать только один вариант за один раз.

12 Масштаб

Виджет Масштаб используется для предоставления виджета слайдера.

13 Полоса прокрутки

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

14 Текст

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

15 Верхний уровень

Виджет Toplevel используется для предоставления отдельного окна-контейнера.

16 со счётчиком

Виджет Spinbox — это вариант стандартного виджета Tkinter Entry, который можно использовать для выбора из фиксированного числа значений.

17 PanedWindow

PanedWindow — это контейнерный виджет, который может содержать любое количество панелей, расположенных горизонтально или вертикально.

18 LabelFrame

Метка — это простой контейнерный виджет. Его основная цель — выступать в качестве разделителя или контейнера для сложных оконных схем.

19 tkMessageBox

Этот модуль используется для отображения окон сообщений в ваших приложениях.

Виджет «Кнопка» используется для отображения кнопок в вашем приложении.

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

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

Виджет «Запись» используется для отображения однострочного текстового поля для принятия значений от пользователя.

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

Виджет «Метка» используется для предоставления надписи в одну строку для других виджетов. Он также может содержать изображения.

Виджет «Список» используется для предоставления пользователю списка параметров.

Виджет Menubutton используется для отображения меню в вашем приложении.

Виджет Меню используется для предоставления различных команд пользователю. Эти команды содержатся внутри Menubutton.

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

Виджет Radiobutton используется для отображения ряда параметров в качестве переключателей. Пользователь может выбрать только один вариант за один раз.

Виджет Масштаб используется для предоставления виджета слайдера.

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

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

Виджет Toplevel используется для предоставления отдельного окна-контейнера.

Виджет Spinbox — это вариант стандартного виджета Tkinter Entry, который можно использовать для выбора из фиксированного числа значений.

PanedWindow — это контейнерный виджет, который может содержать любое количество панелей, расположенных горизонтально или вертикально.

Метка — это простой контейнерный виджет. Его основная цель — выступать в качестве разделителя или контейнера для сложных оконных схем.

Этот модуль используется для отображения окон сообщений в ваших приложениях.

Давайте изучим эти виджеты подробно —

Стандартные атрибуты

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

Размеры

Цвета

шрифты

Якоря

Рельефные стили

Bitmaps

курсоры

Давайте изучим их кратко —

Управление геометрией

Все виджеты Tkinter имеют доступ к определенным методам управления геометрией, целью которых является организация виджетов по всей родительской области виджетов. Tkinter предоставляет следующие классы менеджера геометрии: pack, grid и place.

  • Метод pack () — этот менеджер геометрии организует виджеты в блоки перед размещением их в родительском виджете.

  • Метод grid () — этот менеджер геометрии организует виджеты в виде таблицы в родительском виджете.

  • Метод place () — этот менеджер геометрии организует виджеты, размещая их в определенной позиции в родительском виджете.

Метод pack () — этот менеджер геометрии организует виджеты в блоки перед размещением их в родительском виджете.

Метод grid () — этот менеджер геометрии организует виджеты в виде таблицы в родительском виджете.

Метод place () — этот менеджер геометрии организует виджеты, размещая их в определенной позиции в родительском виджете.

Давайте кратко изучим методы управления геометрией —