Рубрики
Без рубрики

Учебник Tkinter – Часть 2

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

Автор оригинала: Pankaj Kumar.

Вступление

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

Добавление кнопки функции

Теперь добавим некоторые виджеты, которые позволяют пользователю взаимодействовать. Давайте попробуем добавить простую функциональную кнопку и обрабатывать простую кнопку Click Event. Увлекательно, не так ли? Давайте сделаем практичность.

Добавление функциональной кнопки в окно похожа на процесс, который мы сделали для добавления виджета метки. Мы можем настроить внешний вид кнопки, изменив передний план для кнопки с использованием свойства «FG». Аналогично, мы можем изменить цвет фона для кнопки с помощью свойства `BG`. Это свойство может быть использовано для настройки любого виджета. Давайте теперь добавим функциональную кнопку в одно и то же окно, которое мы создали, и добавили виджет метки:

import tkinter
root_window = tkinter.Tk()
root_window.geometry('950x200')
root_window.title("Tkinter tutorial")
label_widget = tkinter.Label(root_window, text="Build your own GUI with Tkinter", font=("Arial Italic", 40))
label_widget.grid(column=1, row=1)
fn_btn = tkinter.Button(root_window, text="Close", bg="grey", fg="black", font=("Arial Bold", 20))
fn_btn.grid(column=1, row=2)
root_window.mainloop()

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

Выход:

Ориентирование виджетов

Если вы посмотрите на вышеуказанный код, мы использовали функцию GRID (), чтобы указать положение виджета. В случае, если это не используется, виджет не будет отображаться. В приведенном выше примере мы поместили кнопку на третью строку окна, которая находится 2. Если вы поместите кнопку функции в одну и ту же строку и столбец, что и мы указываем для виджета метки, виджет кнопки будет размещен сверху виджета метки. Таким образом, для обработки таких ситуаций «TKinter» модуль предлагает метод с именем «Pack ()». Это может быть использовано вместо метода GRID (). Если у вашего окна есть более 2 виджетов, мы можем использовать метод Pack () вместо того, чтобы указывать координаты вручную, используя метод сетки. Метод Pack () бросает виджеты один сверху другого, который сосредоточен по горизонтали, основанный на заказе, который мы упаковываем наши виджеты. Этот метод также регулирует размер окна в соответствии с размером виджета. Давайте попробуем реализовать эту функцию для вышеуказанного примера.

import tkinter
root_window = tkinter.Tk()
root_window.geometry('950x200')
root_window.title("Tkinter tutorial")
label_widget = tkinter.Label(root_window, text="Build your own GUI with Tkinter", font=("Arial Italic", 40))
fn_btn = tkinter.Button(root_window, text="Close", bg="grey", fg="black", font=("Arial Bold", 20))
label_widget.pack()
fn_btn.pack()
root_window.mainloop()

Выход выглядит как:

Выход:

Итак, мы обсудили, как ориентировать виджеты в нашем окне, используя метод GRID () и метод Pack (). Но нам нужно иметь в виду, чтобы не смешивать методы сетки () и Pack () как в одном и том же контейнере.

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

Обработка функциональной кнопки Click Event

В предыдущем примере мы создали экземпляр класса кнопок, который довольно похож на способ, которым мы создали виджет метки. Теперь, чтобы обрабатывать событие кнопки «Функциональную кнопку», мы можем добавить аргумент команд при создании виджета кнопок. Добавляя эту «аргумент команды», мы можем указать программу о том, как реагировать после того, как появляется кнопка функциональной кнопки. Мы можем сделать это, добавив нижний кусок кода:

fn_btn = tkinter.Button(root_window, text="Close", bg="grey", fg="black", font=("Arial Bold", 20), command=root_window.destroy)

В этом примере мы обрабатывали нашу кнопку Click Event, настроив аргумент команд. Мы назвали методом уничтожения корневого окна (). Это делает наш виджет окна, чтобы закрыть, когда нажата кнопка «Закрыть».

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

Настройка виджетов

Мы можем настроить внешний вид виджетов во время выполнения нашей программы. Это можно сделать с помощью настройки элемента виджета. Например, давайте создадим окно, метку, кнопку с именем «Нажмите« ME ». Мы можем настроить функциональную кнопку во время выполнения программы, изменив цвет кнопки.

import tkinter
root_window = tkinter.Tk()
root_window.geometry('950x200')
root_window.title("Tkinter tutorial")
def color_fn_btn():
    fn_btn.configure(text="Button color changed", bg="blue", fg="white")
label_widget = tkinter.Label(root_window, text="Build your own GUI with Tkinter", font=("Arial Italic", 40))
fn_btn = tkinter.Button(root_window, text="Click here", bg="grey", fg="black", font=("Arial Bold", 20), command=color_fn_btn)
label_widget.pack()
fn_btn.pack()
root_window.mainloop()

Выходной вывод вышеуказанного кода:

Выход:

Если вы нажмете кнопку «Нажмите ME», цвет функциональной кнопки вместе с его текстом меняется как следует следующие:

Выход:

Функция Color_FN_BTN (), которую мы добавили, настраивают состояние кнопки, после того, как происходит событие кнопки.

Заключение

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