Библиотека Tkinter

•Библиотека Tkinter установлена в Python в качестве стандартного модуля, поэтому нам не нужно устанавливать что-либо для его использования.

Содержимое разработки

Tkinter   https://pythonru.com/uroki/obuchenie-python-gui-uroki-po-tkinter

Tkinter

https://pythonru.com/uroki/obuchenie-python-gui-uroki-po-tkinter

Библиотека Tkinter установлена в Python в качестве стандартного модуля, поэтому нам не нужно устанавливать что-либо для его использования.
  • Библиотека Tkinter установлена в Python в качестве стандартного модуля, поэтому нам не нужно устанавливать что-либо для его использования.
Создание своего первого графического интерфейса

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

from tkinter import * window = Tk() window.title(

from tkinter import *

window = Tk()

window.title(" Добро пожаловать в приложение PythonRu")

window.mainloop()

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

Настройка размеров окна приложения

Настройка размеров окна приложения

Мы можем установить размер окна по умолчанию, используя функцию geometry следующим образом: window.geometry('400x250') В приведенной выше строке устанавливается окно шириной до 400 пикселей и высотой до 250 пикселей.

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

window.geometry('400x250')

В приведенной выше строке устанавливается окно шириной до 400 пикселей и высотой до 250 пикселей.

Создание виджета Label

Создание виджета Label

Чтобы добавить текст в наш предыдущий пример, мы создадим переменную lbl , с помощью класса Label, например: lbl = Label(window, text=

Чтобы добавить текст в наш предыдущий пример, мы создадим переменную lbl , с помощью класса Label, например:

lbl = Label(window, text="Привет")

Затем мы установим позицию в окне с помощью функции grid и укажем ее следующим образом: lbl.grid(column=0, row=0) Полный код, будет выглядеть следующим образом: from tkinter import * window = Tk() window.title(

Затем мы установим позицию в окне с помощью функции grid и укажем ее следующим образом:

lbl.grid(column=0, row=0)

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

from tkinter import *

window = Tk()

window.title(" Добро пожаловать в приложение PythonRu ")

lbl = Label(window, text="Привет") lbl.grid(column=0, row=0)

window.mainloop()

Вы можете задать шрифт текста и размер. Также можно изменить стиль шрифта. Для этого передайте параметр font таким образом: lbl = Label(window, text=

Вы можете задать шрифт текста и размер. Также можно изменить стиль шрифта. Для этого передайте параметр font таким образом:

lbl = Label(window, text="Привет", font=("Arial Bold", 50 ), bg=‘#ff0000’, bd=20,fg=‘#00ff00’)

font(‘Comic Sans MS’,24,’bold’)

Обратите внимание, что параметр font может быть передан любому виджету, для того, чтобы поменять его шрифт, он применяется не только к Label.

Обратите внимание, что параметр font может быть передан любому виджету, для того, чтобы поменять его шрифт, он применяется не только к Label.

Добавление виджета Button

Добавление виджета Button

Начнем с добавления кнопки в окно. Кнопка создается и добавляется в окно так же, как и метка: btn = Button(window, text=

Начнем с добавления кнопки в окно. Кнопка создается и добавляется в окно так же, как и метка:

btn = Button(window, text="Не нажимать!") btn.grid(column=1, row=0)

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

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

Изменение цвета текста и фона у Button

Изменение цвета текста и фона у Button

Вы можете поменять цвет текста кнопки или любого другого виджета, используя свойство fg.  Кроме того, вы можете поменять цвет фона любого виджета, используя свойство bg. btn = Button(window, text=

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

btn = Button(window, text="Не нажимать!", bg="black", fg="red“, width=15, height=5)

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

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

Кнопка Click

Кнопка Click

Для начала, мы запишем функцию, которую нужно выполнить при нажатии кнопки: def clicked():   lbl.configure(text=

Для начала, мы запишем функцию, которую нужно выполнить при нажатии кнопки:

def clicked():

lbl.configure(text="Я же просил...")

Затем мы подключим ее с помощью кнопки, указав следующую ​​функцию: btn = Button(window, text=

Затем мы подключим ее с помощью кнопки, указав следующую ​​функцию:

btn = Button(window, text="Не нажимать!", command=clicked)

Обратите внимание:  мы пишем clicked, а не clicked()с круглыми скобками. Теперь полный код будет выглядеть так:

Такие свойства как bg, fg, activebackground и activeforeground определяют соответственно цвет фона и текста, цвет фона и текста во время нажатия мыши над кнопкой.
  • Такие свойства как bg, fg, activebackground и activeforeground определяют соответственно цвет фона и текста, цвет фона и текста во время нажатия мыши над кнопкой.
Здесь свойство command устанавливается с помощью метода config. Однако можно было сделать и так: b1['command'] = change.

Здесь свойство command устанавливается с помощью метода config.

Однако можно было сделать и так: b1['command'] = change.

Для демонстрации запустить файл button изменение свойств при клике мыши
  • Для демонстрации запустить файл button изменение свойств при клике мыши
Практическая работа

Практическая работа

  • Напишите программу, состоящую из семи кнопок, цвета которых соответствуют цветам радуги. При нажатии на ту или иную кнопку в текстовое поле должен вставляться код цвета, а в метку – название цвета.
  • Коды цветов в шестнадцатеричной кодировке: #ff0000 – красный, #ff7d00 – оранжевый, #ffff00 – желтый, #00ff00 – зеленый, #007dff – голубой, #0000ff – синий, #7d00ff – фиолетовый.
Для выравнивания строки по центру в текстовом поле используется свойство justify со значением CENTER.

Для выравнивания строки по центру в текстовом поле

используется свойство justify со значением CENTER.

Получение ввода с использованием класса Entry (текстовое поле Tkinter)

Получение ввода с использованием класса Entry (текстовое поле Tkinter)

В предыдущих примерах GUI Python мы ознакомились со способами добавления простых виджетов, а теперь попробуем получить  пользовательский ввод
  • В предыдущих примерах GUI Python мы ознакомились со способами добавления простых виджетов, а теперь попробуем получить  пользовательский ввод , используя класс Tkinter Entry (текстовое поле Tkinter). Вы можете создать текстовое поле с помощью класса Tkinter Entry следующим образом:
txt = Entry(window, width=10) Затем вы можете добавить его в окно, используя функцию grid.  Наше окно будет выглядеть так:

txt = Entry(window, width=10)

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

Методы Entry e1=Entry(width=20) e1.insert( позиция, текст) – вставить с позиции e1.delete(начало, конец) – удалить e1.get(начало, конец) – прочитать

Методы Entry

e1=Entry(width=20)

e1.insert( позиция, текст) – вставить с позиции

e1.delete(начало, конец) – удалить

e1.get(начало, конец) – прочитать

вы можете получить текст ввода, используя функцию get. Мы можем записать код для выбранной функции таким образом:   def clicked():  res =

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

def clicked():

res = "Привет {}".format(txt.get()) lbl.configure(text=res)

Каждый раз, когда мы запускаем код, нам нужно нажать на виджет ввода, чтобы настроить фокус на ввод текста, но как насчет автоматической настройки фокуса?

Каждый раз, когда мы запускаем код, нам нужно нажать на виджет ввода, чтобы настроить фокус на ввод текста, но как насчет автоматической настройки фокуса?

Установка фокуса виджета ввода

Установка фокуса виджета ввода

Здесь все очень просто, ведь все, что нам нужно сделать, — это вызвать функцию focus: txt.focus() Когда вы запустите свой код, вы заметите, что виджет ввода в фокусе, который дает возможность сразу написать текст. Отключить виджет ввода Чтобы отключить виджет ввода, отключите свойство состояния: txt = Entry(window,width=10, state='disabled')

Здесь все очень просто, ведь все, что нам нужно сделать, — это вызвать функцию focus:

txt.focus()

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

Отключить виджет ввода

Чтобы отключить виджет ввода, отключите свойство состояния:

txt = Entry(window,width=10, state='disabled')

Три способа конфигурирования свойств виджетов Изменять конфигурацию виджета можно в любой момент. Это изменение прорисуется на экране по возвращении в цикл обработки событий В момент создания виджета btn = Button(window, text=

Три способа конфигурирования свойств виджетов

  • Изменять конфигурацию виджета можно в любой момент. Это изменение прорисуется на экране по возвращении в цикл обработки событий
  • В момент создания виджета

btn = Button(window, text="Не нажимать!", bg="black", fg="red")

 

2.  устанавливать (конфигурировать) с помощью методов config() (или configure()) 

2.  устанавливать (конфигурировать) с помощью методов config() (или configure()) 

  3. с помощью методов, подобных методам работы со словарями.

  3. с помощью методов, подобных методам работы со словарями.

Сохранить у себя:
Библиотека Tkinter

Получите свидетельство о публикации сразу после загрузки работы



Получите бесплатно свидетельство о публикации сразу после добавления разработки