Привет всем! Сегодня мы продолжим знакомство с библиотекой Tkinter — что что 🙂 Напомню — это уже третья часть, предыдущие две доступны по ссылке.
Создать виджет Checkbutton. Для этого используем конструкцию:
-
checkbutton = Checkbutton(window, text='Choose')
Естественно, нам нужно поставить состояние этого виджета «По-умолчанию», а так же получать данные о статусе — поставлена галочка или нет 🙂 — для этого используется следующий код:
-
from tkinter import * #Подключили библиотеку
-
-
def exit():
-
quit()
-
-
window = Tk()
-
window.geometry('250x250') #Где первый параметр - ширина, а второй - высота.
-
window.resizable(0, 0) #Используем этот код, если нам нужно отключить возможность изменения размеров окна пользователем
-
window.title('Tkinter что это с примерами на русском') #Обозначили заголовок окна
-
-
check_status = BooleanVar()
-
check_status.set(False) #Установили значение по-умолчанию
-
checkbutton = Checkbutton(window, text='Выбор', var=check_status)
-
checkbutton.grid(column=0, row=0)
-
-
status_check_status = int(check_status.get()) #Создали переменную, которая получает состояние чекбокса
-
print(status_check_status) #Вывели переменную в консоль
-
-
button_exit = Button(window, text = 'Exit', command = exit)
-
button_exit.grid(column = 0, row = 1)
-
-
window.mainloop()
Теперь разберемся с добавлением радио-кнопок. Для этого используется следующий код:
-
radio_button = Radiobutton(window,text='First', value=1)
И раз уж радиокнопка у нас есть — то нужно как-то понять, что делать, если кнопка нажата. Для этого имеется следующая конструкция:
-
from tkinter import *
-
from tkinter.ttk import *
-
-
window = Tk()
-
window.title('Tkinter что это с примерами на русском :)')
-
-
selected = IntVar()
-
rad1 = Radiobutton(window,text='1', value=1, variable=selected)
-
rad2 = Radiobutton(window,text='2', value=2, variable=selected)
-
rad3 = Radiobutton(window,text='3', value=3, variable=selected)
-
-
def clicked():
-
print(selected.get())
-
-
btn = Button(window, text='Нажми меня', command=clicked)
-
rad1.grid(column=0, row=0)
-
rad2.grid(column=1, row=0)
-
rad3.grid(column=2, row=0)
-
btn.grid(column=3, row=0)
-
-
window.mainloop()
Как видно — при выборе той или иной радиокнопки и нажатия на кнопку в консоли выводится номер выбранной радиокнопки 🙂
Теперь добавим в наш код поле для ввода большого полотна текста 🙂 Выглядит код для этого следующим образом (Важно: не забываем подключить библиотеку, которая отвечает за большие текстовые блоки:
from tkinter import scrolledtext):
-
from tkinter import scrolledtext
-
scroll_text = scrolledtext.ScrolledText(window,width=40,height=10) #первый параметр - ширина в символах, второй - количество строк
-
scroll_text.grid(column=0,row=0)
Так же мы можем установить текст «По-умолчанию» в нашем поле. Для этого используем:
-
scroll_text.insert(INSERT,'Текст для примера')
А в случае необходимости очистить это поле. Для этого нужно использовать код:
-
scroll_text.delete(1.0,END)
В полном виде это выглядит следующим образом:
-
from tkinter import *
-
from tkinter.ttk import *
-
from tkinter import scrolledtext
-
-
def clear():
-
scroll_text.delete('1.0', END)
-
-
window = Tk()
-
window.title('Tkinter что это с примерами на русском :)')
-
-
button = Button(window, text='Очистить поле', command=clear)
-
button.grid(column = 0, row = 1)
-
-
scroll_text = scrolledtext.ScrolledText(window,width=40,height=3)
-
scroll_text.insert(INSERT,'Текст для примера')
-
scroll_text.grid(column=0,row=0)
-
-
window.mainloop()
Как видно из кода выше — мы создаем многострочное окно, добавляем туда текст «По умолчанию», а потом делаем так, что бы после нажатия кнопки «Очистить поле» окно очищалось. Все просто 🙂
Идем далее… разберемся, как с помощью библиотеки Tkinter создавать месседжбокс. Вообще просто 🙂
-
from tkinter import messagebox
-
messagebox.showinfo('Заголовок окна','Текст в окне')
А вот код в полном виде:
-
from tkinter import *
-
from tkinter.ttk import *
-
from tkinter import scrolledtext
-
from tkinter import messagebox
-
-
def clear():
-
scroll_text.delete('1.0', END)
-
-
def message():
-
messagebox.showinfo('Заголовок окна', 'Текст в окне')
-
-
window = Tk()
-
window.title('Tkinter что это с примерами на русском :)')
-
-
button = Button(window, text='Очистить поле', command=clear)
-
button.grid(column = 0, row = 1)
-
-
button_message = Button(window, text='Вывести уведомление', command=message)
-
button_message.grid(column = 0, row = 2)
-
-
scroll_text = scrolledtext.ScrolledText(window,width=40,height=3)
-
scroll_text.insert(INSERT,'Текст для примера')
-
scroll_text.grid(column=0,row=0)
-
-
window.mainloop()
На сегодня по поводу вопроса, который звучит как: Tkinter — что это — достаточно 🙂
Спасибо за внимание!
Как всегда в случае вопросов — пишите на почту, или в Telegram.