Примеры Python Tkinter

Primery Python Tkinter



Python — универсальный язык программирования, который можно использовать для реализации различных типов приложений. Он имеет множество типов модулей для создания приложений на основе графического пользовательского интерфейса (GUI). Python tkinter — один из них. Любое настольное приложение можно легко реализовать с помощью модуля tkinter. Будет лучше, если у вас есть базовые знания программирования на Python, чтобы изучить использование модуля Python tkinter. В этом руководстве показаны различные варианты использования модуля Python tkinter для создания приложений с графическим интерфейсом.

Установите модуль Tkinter

Модуль tkinter не установлен в Python по умолчанию. Итак, вам нужно запустить следующую команду, чтобы установить модуль tkinter в версии Python 3+:







$ судо подходящий установить python3-tk



Различные виджеты Tkinter

Модуль tkinter содержит различные виджеты для разных целей.







Имя виджета Цель
Этикетка Он используется для отображения справочного сообщения для пользователя.
Кнопка Он используется для добавления различных кнопок в приложении.
Рамка Он работает как контейнер виджетов, содержащий различные типы виджетов для создания организованной формы.
Вход Он используется для получения однострочного текста от пользователя.
Кнопка проверки Он используется для добавления кнопок флажков для получения от пользователя нескольких входных данных из нескольких вариантов.
Переключатель Он используется для добавления переключателей, позволяющих получить от пользователя один ввод из нескольких вариантов.
Кнопка со списком Он используется для добавления раскрывающегося списка, позволяющего получить от пользователя один ввод из нескольких вариантов.
СписокСписок Он используется для добавления списка для получения от пользователя нескольких входных данных из нескольких вариантов.
Текст Он используется для получения от пользователя многострочного текста.
Сообщение Он используется для отображения окна сообщений для пользователя.
Полоса прокрутки Он используется для добавления полосы прокрутки в окно для прокрутки окна вверх и вниз.
Кнопка меню Он используется для отображения меню пользователю.
Меню Он используется для отображения пунктов меню пользователю.
ПанедОкно Он работает как контейнер виджетов, содержащий горизонтальные и вертикальные панели.
Вкладки Он используется для добавления окна вкладки в приложение.

Различные примеры Tkinter

Использование некоторых распространенных виджетов tkinter показано в следующих примерах.

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

Создайте файл Python со следующим содержимым, который отображает диалоговое окно в центре экрана с заголовком и определенной высотой и шириной:



#Импортируем необходимый модуль
из импорта tkinter *

#Создаем объект для окна
tkobj = Тк ( )

#Устанавливаем заголовок окна
tkobj.title ( «Изучите модуль tkinter» )

#Устанавливаем высоту и ширину окна
tkobj.geometry ( '300x150' )

#Устанавливаем положение окна по центру
tkobj.eval ( 'tk::PlaceWindow . центр' )

#Запускаем Tkinter
tkobj.mainloop ( )

Выход:

Следующий вывод появляется после выполнения сценария. Отображается диалоговое окно с заголовком «Изучить модуль tkinter»:

Пример 2. Использование метки и кнопки

Создайте файл Python с помощью следующего сценария, который отображает окно с меткой и диалоговое окно:

#Импортируем необходимый модуль
из импорта tkinter *

#Создаем объект для окна
tkobj = Тк ( )

#Устанавливаем заголовок окна
tkobj.title ( «Изучите модуль tkinter» )

#Устанавливаем высоту и ширину окна
tkobj.geometry ( '400х150' )

#Определяем объект метки
lbl = Метка ( ткобж, текст '=' «Это простое окно» )
#Добавляем метку в окно
фунт.упак. ( iPadX '=' 30 , айпады '=' двадцать )

#Определяем объект кнопки
кнопка = Кнопка ( ткобж, текст '=' 'Нажми на меня' )
#Добавляем кнопку в окно с позицией
btn.pack ( iPadX '=' 30 , айпады '=' 10 )

#Устанавливаем положение окна по центру
tkobj.eval ( 'tk::PlaceWindow . центр' )

#Запускаем Tkinter
tkobj.mainloop ( )

Выход:

После выполнения скрипта в центре экрана появляется окно с надписью и кнопкой.

Пример 3. Установите цвет шрифта и цвет фона

Создайте файл Python с помощью следующего сценария, который отображает окно с меткой и цветной кнопкой. Здесь атрибут фона используется для установки цвета фона кнопки, а атрибут переднего плана используется для установки цвета шрифта кнопки:

#Импортируем необходимый модуль
из импорта tkinter *

#Создаем объект для окна
tkobj = Тк ( )

#Устанавливаем заголовок окна
tkobj.title ( «Изучите модуль tkinter» )

#Устанавливаем высоту и ширину окна
tkobj.geometry ( '400х150' )

#Определяем объект метки
lbl = Метка ( ткобж, текст '=' «Установить цвет фона и переднего плана» )
#Добавляем метку в окно
фунт.упак. ( iPadX '=' 30 , айпады '=' двадцать )

#Определить объект кнопки с цветом фона и переднего плана
кнопка = Кнопка ( ткобж, текст '=' 'Нажми на меня' , фон '=' 'синий' , передний план '=' 'красный' )
#Добавляем кнопку в окно с позицией
btn.pack ( iPadX '=' 30 , айпады '=' 8 )

#Устанавливаем положение окна по центру
tkobj.eval ( 'tk::PlaceWindow . центр' )

#Запускаем Tkinter
tkobj.mainloop ( )

Выход:

После выполнения скрипта появляется следующее окно:

Пример 4: Использование фрейма

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

#Импортируем необходимый модуль
из импорта tkinter *

#Создаем объект для окна
tkobj = Тк ( )

#Устанавливаем заголовок окна
tkobj.title ( «Модуль Ткинтера» )

#Устанавливаем высоту и ширину окна
tkobj.geometry ( '250x100' )

#Определение объектов фрейма
фрм = Кадр ( ткобж )
frm.pack ( )
lframe = Кадр ( ткобж )
lframe.pack ( сторона =ЛЕВО )
rframe = Рамка ( ткобж )
rframe.pack ( сторона =ПРАВО )

#Определяем метку внутри рамки
lbl = Метка ( от, текст '=' «Использование фрейма» , фг '=' 'синий' )
фунт.упак. ( )

#Определяем кнопки внутри рамки
btn1 = Кнопка ( лфрейм, текст '=' '' , фг '=' 'черный' , бг '=' 'белый' )
btn2.pack ( сторона =ПРАВО )

#Устанавливаем положение окна по центру
tkobj.eval ( 'tk::PlaceWindow . центр' )

#Запускаем Tkinter
tkobj.mainloop ( )

Выход:

После выполнения скрипта появится следующий вывод:

Пример 5: Обработка события кнопки

Использование окна сообщения показано в следующем сценарии. Окно сообщения отображается при нажатии кнопки:

#Импортируем необходимые модули
из импорта tkinter *
из окна сообщения импорта tkinter

#Создаем объект для окна
tkobj = Тк ( )

#Устанавливаем заголовок окна
tkobj.title ( «Изучите модуль tkinter» )

#Устанавливаем высоту и ширину окна
tkobj.geometry ( '400x150' )

#Определяем функцию для отображения окна сообщения
дисплей определенности ( ) :
messagebox.showinfo ( 'Информация' , «Кнопка нажата». )

#Создайте текст метки с цветом, стилем и положением шрифта
Этикетка ( ткобж, текст '=' «Настольное приложение, использующее tkinter». , фг '=' 'зеленый' ) .пакет ( Пэдди '=' 25 )

#Создаем кнопку с обработчиком кнопки
Кнопка ( ткобж, текст '=' «Показать сообщение» , команда = дисплей ) .пакет ( )

#Устанавливаем положение окна по центру
tkobj.eval ( 'tk::PlaceWindow . центр' )

#Запускаем Tkinter
tkobj.mainloop ( )

Выход:

После выполнения скрипта появляется следующее окно:

После нажатия кнопки появляется следующее окно сообщения:

Пример 6: получение данных от пользователя

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

#Импортируем необходимые модули
из импорта tkinter *
из tkinter.ttk импортировать Combobox
из tkinter импортировать ttk
импортировать Ткинтер как ТС
из окна сообщения импорта tkinter

#Создаем объект tkinter
tkobj = Тк ( )

#Устанавливаем заголовок окна
tkobj.title ( «Форма информации о пользователе» )

#Установим высоту и ширину окна
tkobj.geometry ( '550x320' )

#Определяем функцию для отображения значений формы
защита display_values ( ) :
#Читать однострочный текст
имя = 'Имя : ' + name_val.get ( ) + ' \п '
#Читаем выбранное значение переключателя
если пол.получить ( ) == 1 :
г = 'Мужской'
еще:
г = 'Женский'
г = 'Пол : ' + г + ' \п '

#Читаем выбранные значения флажка
игра = ''
если g1.get ( ) == 1 :
игра = 'Крикет'
если g2.get ( ) == 1 :
если игра ! '=' '' :
игра += ', ' + 'Футбол'
еще:
игра = 'Футбол'
если g3.get ( ) == 1 :
если игра ! '=' '' :
игра += ', ' + 'Баскетбол'
еще:
игра = 'Баскетбол'
игра = 'Игра : ' + игра + ' \п '

#Читаем значения поля со списком
страна = 'Страна : ' + странаVal.get ( ) + ' \п '
#Читаем многострочный текст
адрес = 'Адрес : ' + адрес.get ( '1,0' , 'конец' ) + ' \п '
#Объединяем все значения, полученные в полях
form_values ​​= имя + г + игра + страна + адрес
#Отображение значений в окне сообщения
messagebox.showinfo ( «Информация о пользователе» , значения_формы )


#Создаем метку и поле имени
Этикетка ( ткобж, текст '=' 'Имя : ' ) .место ( Икс '=' 100 , и '=' двадцать )
name_val = StringVar ( )
ttk.Entry ( ткобж, текстовая переменная =имя_значение ) .пакет ( Пакс '=' 220 , Пэдди '=' двадцать )

#Создаем метку и переключатель
Этикетка ( ткобж, текст '=' 'Пол : ' ) .место ( Икс '=' 100 , и '=' 60 )
пол = IntVar ( )
пол.набор ( 1 )
Переключатель ( ткобж, текст '=' 'Мужской' , переменная = пол, ценить '=' 1 ) .место ( Икс '=' 210 , и '=' 60 )
Переключатель ( ткобж, текст '=' 'Женский' , переменная = пол, ценить '=' 2 ) .место ( Икс '=' 290 , и '=' 60 )

#Создаем метку и кнопку-флажок
Этикетка ( ткобж, текст '=' «Любимая игра:» ) .место ( Икс '=' 100 , и '=' 100 )
g1 = IntVar ( )
g2 = ЦелаяПеременная ( )
g3 = IntVar ( )
Кнопка проверки ( ткобж, текст '=' 'Крикет' , переменная =g1 ) .место ( Икс '=' 210 , и '=' 100 )
Кнопка проверки ( ткобж, текст '=' 'Футбол' , переменная =g2 ) .место ( Икс '=' 290 , и '=' 100 )
Кнопка проверки ( ткобж, текст '=' 'Баскетбол' , переменная =g3 ) .место ( Икс '=' 380 , и '=' 100 )

#Определяем значения кортежа
данные = ( «Бангладеш» , 'Япония' , 'США' )
#Создаем метку и поле со списком
Этикетка ( ткобж, текст '=' 'Страна : ' ) .место ( Икс '=' 100 , и '=' 140 )
странаВал = StringVar ( )
Поле со списком ( ткобж, ценности = данные, текстовая переменная =countryVal ) .место ( Икс '=' 220 , и '=' 140 )

#Создаем метку и текстовое поле
Этикетка ( ткобж, текст '=' 'Адрес : ' ) .место ( Икс '=' 100 , и '=' 180 )
адрес = ( тк.Текст ( ткобж, высота '=' 3 , ширина '=' двадцать ) )
адрес.место ( Икс '=' 220 , и '=' 180 )

#Создаем кнопку с обработчиком кнопки
Кнопка ( ткобж, текст '=' 'Представлять на рассмотрение' , команда =display_values ) .место ( Икс '=' 250 , и '=' 250 )

#Запускаем Tkinter
tkobj.mainloop ( )

Выход:

После выполнения скрипта появляется следующее окно:

Заполните поля формы и нажмите кнопку «Отправить».

Появится следующее окно сообщения с отправленными значениями:

Заключение

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