Messagebox w tkinter

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 8848 razy

Jeżeli chodzi o okna dialogowe typu Messagebox to w Pythonie jest w tym niewielkie zamieszanie. W wersji Pythona 2.7.1 jest od tego oddzielny moduł o nazwie tkMessageBox, natomiast w wersji 3+ moduł znajduje się wewnątrz modułu tkinter pod uproszczoną nazwą messagebox. Oto przykład wywoływania dwóch typów okien dialogowych:

import tkinter as tk from tkinter import messagebox as msb class Application: def __init__(self): self.window = tk.Tk() self.window.bind("<Button-1>", self.wnd_lbc) self.window.bind("<Button-3>", self.wnd_rbc) self.window.mainloop() def wnd_lbc(self, event): msb.showinfo("Info", "Kliknięto lewy przycisk myszki") # wywołanie okna dialogowego def wnd_rbc(self, event): if msb.askokcancel("Pytanie", "Czy ja śnię,\nczy kliknąłeś w okno me!"): # okno dialogowe z przyciskami ok i cancel - zwraca prawdę, gdy ok jest wciśnięte msb.showinfo("Info", "A jednak to prawdą było!\nA jednak mi się nie przyśniło") else: msb.showinfo("Info", "Przykro mi się zrobiło,\nChyba mi się coś przyśniło") apl = Application()

Wewnątrz modułu messagebox znajdują się następujące funkcje, które z kolei umożliwiają wywołanie różnych typów okien dialogowych:

Przykład wywołania okna dialogowego z modułu messagebox zawartego w module tkinter języka programowanie Python
Rys. 1
Przykład wywołania okna dialogowego.
Propozycje książek