Tkinter - окно ошибки

Tkinter — что это с примерами на русском — часть 4

Привет всем! Продолжаем знакомство с библиотекой Tkinter — что это с примерами, на русском языке 🙂 Это будет уже четвертая часть (предыдущие части доступны по ссылке).

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

messagebox.showwarning('Заголовок окна', 'Предупреждение')  # shows warning message
messagebox.showerror('Заголовок окна', 'Полный капец, короче')  # shows error message

Визуально это будет выглядеть следующим образом:
Окно предупреждения:
tkinter - окно предупреждения

Окно ошибки:
Tkinter - окно ошибки

Ок, а если нам нужно организовать вывод диалога, который предусматривает некую реакцию в стиле «Cancel» — «Ok» — «Retry», да еще и вывести какой-то уведомительный значок? Для этих целей имеется следующий код:

messagebox.askquestion('Заголовок окна', 'Вопрос: Да - нет')
messagebox.askyesno('Заголовок окна', 'Вопрос: Да - нет')
messagebox.askyesnocancel('Заголовок окна', 'Вопрос: Да - нет - отмена')
messagebox.askokcancel('Заголовок окна', 'Вопрос - Ок - отмена')
messagebox.askretrycancel('Заголовок окна', 'Восклицательный знак: Повтор - отмена')

Интересно, что особенностью этого варианта кода является тот факт, что он возвращает значение нажатой клавиши. Например, если вы нажмете «Ок», или «Да», или «Повторить» — будет возвращено значение «True», а если нажмете «Нет» или «Отмена» — будет возвращено значение «False». Единственная функция, которая возвращает три значения — askyesnocancel — она возвращает значения «True», «False», «None».

А сейчас разберемся, как создавать окна со спинбоксами (это такие окошки, где можно тыкая кнопочки «Вверх-вниз» выбирать необходимое количество. Код для этого выглядит следующим образом:

spin = Spinbox(window, from_=0, to=10, width=2)

Код выше — это код, который создает спинбокс, работающий в промежутке от нуля до 10, а размер спинбокса — 2 символа.

Код ниже — спинбокс, имеющий размер в 2 символа, и дающий возможность выбрать только значения из 2-4-6:

spin2 = Spinbox(window, values=(2, 4, 6), width=5)

На случай, если нам нужно задать значение «По-умолчанию» в спинбокс — используем следующую конструкцию:

variable =IntVar()
variable.set(50)
spin = Spinbox(window, from_=0, to=100, width=2, textvariable=variable)

И да — конечно же мы можем получить значение, которое было выбрано в спинбоксе. Для этого используем:

spin3.get() #spin3 - название нашего спинбокса

Дошли до самого, на мой взгляд, интересного — создание прогрессбара 🙂 Создается он так же просто:

from tkinter.ttk import Progressbar
bar = Progressbar(window, length=100)

Если нам нужно задать значение «По-умолчанию» — используем:

bar['value'] = 50

Конечно же — мы можем указать цветовое оформление нашего прогрессбара. Для этого не забываем подключить библиотеку ttk, и использовать следующие методы:

from tkinter import ttk
style = ttk.Style()
style.theme_use('default')
style.configure('green.Horizontal.TProgressbar', background='green')
bar = Progressbar(window, length=100, style='green.Horizontal.TProgressbar')
bar['value'] = 50
bar.grid(column = 0, row = 5)

На выходе мы получим нечто вроде:
tkinter - создание прогрессбара

На этом пока все 🙂 Пятая часть, в которой мы узнаем как создавать диалог для выбора файлов, меню и вкладки — совсем скоро. Следите за обновлениями!

И конечно же — в случае возникновения вопросов пишите на почту или в Telegram.

Support the Blog!

Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️

PayPal Logo Donate via PayPal

Revolut Logo Donate via Revolut