1. Standart dialoq pəncərələri
Tkinter, məsələn, məlumat mesajları, xəbərdarlıqlar, səhvlər və təsdiq sorğuları kimi dialoq pəncərələrini göstərmək üçün daxili messagebox moduluna malikdir. Bu dialoqlar istifadəçi ilə ünsiyyət üçün və bildirişlər yaratmaq üçün əlverişlidir.
messagebox modulunun qoşulması
from tkinter import messagebox
messagebox ilə əsas dialoq tipləri
- Məlumat pəncərəsi
Məlumat pəncərələri istifadəçiyə vacib məlumatlar bildirir.
messagebox.showinfo()funksiyası istifadə olunur.def show_info(): messagebox.showinfo("Məlumat", "Bu məlumat mesajıdır") - Xəbərdarlıq
Xəbərdarlıq pəncərəsi potensial problem barədə xəbər verir və ya müəyyən bir hərəkətə diqqət çəkməyi tövsiyə edir.
messagebox.showwarning()funksiyası xəbərdarlıq pəncərəsi yaradır.def show_warning(): messagebox.showwarning("Xəbərdarlıq", "Bu xəbərdarlıq mesajıdır") - Səhv pəncərəsi
Səhv pəncərəsi səhv baş verdikdə göstərilir.
messagebox.showerror()funksiyası istifadəçini səhv barədə məlumatlandırmaq üçün yararlıdır.def show_error(): messagebox.showerror("Səhv", "Səhv baş verdi!") - Fəaliyyəti təsdiqləmə sorğusu
Təsdiqləmə sorğuları istifadəçiyə hərəkəti təsdiqləmək və ya ləğv etmək imkanı verir.
messagebox.askyesno()funksiyası istifadəçinin seçiminə əsasənTruevə yaFalseqaytarır.def confirm_exit(): response = messagebox.askyesno("Çıxış", "Əminsiniz ki, çıxmaq istəyirsiniz?") if response: root.quit()
2. Fayl və qovluq seçimi
Tkinter həmçinin istifadəçilərə fayl və qovluqları seçmək imkanı verən filedialog modulunu təqdim edir. Bu, istifadəçilərin faylı yükləməsi və ya saxlaması lazım olduğu tətbiqlər üçün faydalıdır.
filedialog modulunun qoşulması
from tkinter import filedialog
filedialog-ın əsas funksiyaları
- Fayl açılması:
askopenfilename()funksiyası istifadəçiyə fayl seçməyə imkan verir.def open_file(): file_path = filedialog.askopenfilename( title="Faylı aç", filetypes=[("Mətn faylları", "*.txt"), ("Bütün fayllar", "*.*")]) if file_path: print("Seçilmiş fayl:", file_path) - Faylın saxlanılması:
asksaveasfilename()funksiyası istifadəçiyə faylı saxlamaq üçün yol və ad seçməyə imkan verir.def save_file(): file_path = filedialog.asksaveasfilename( title="Faylı saxla", defaultextension=".txt", filetypes=[("Mətn faylları", "*.txt"), ("Bütün fayllar", "*.*")]) if file_path: print("Fayl kimi saxlanıldı:", file_path) - Qovluğun seçilməsi:
askdirectory()funksiyası qovluq seçməyə imkan verir.def select_directory(): directory_path = filedialog.askdirectory(title="Qovluğu seçin") if directory_path: print("Seçilmiş qovluq:", directory_path)
3. Tənzimlənə bilən pop-up pəncərələr
Standart dialoq pəncərələrinə əlavə olaraq, Tkinter Toplevel widgetı vasitəsilə tənzimlənə bilən pop-up pəncərələr yaratmağa imkan verir. Bu pəncərələr giriş sahələri, düymələr və digər interfeys elementləri olan çoxfunksiyalı pop-up pəncərələrin yaradılması üçün istifadə edilə bilər.
Toplevel ilə pop-up pəncərənin yaradılması
import tkinter as tk
# Pop-up pəncərəni açmaq üçün funksiya
def open_popup():
popup = tk.Toplevel(root)
popup.title("Pop-up pəncərə")
popup.geometry("300x200")
label = tk.Label(popup, text="Adınızı daxil edin:")
label.pack(pady=10)
entry = tk.Entry(popup)
entry.pack(pady=5)
# Pəncərəni bağlamaq üçün düymə
close_button = tk.Button(popup, text="Bağla", command=popup.destroy)
close_button.pack(pady=10)
# Əsas pəncərə
root = tk.Tk()
root.title("Əsas pəncərə")
root.geometry("400x300")
# Pop-up pəncərəni çağırmaq üçün düymə
open_button = tk.Button(root, text="Pop-up pəncərə aç", command=open_popup)
open_button.pack(pady=50)
root.mainloop()
Kodun izahı
tk.Toplevel(root)əsas pəncərənin üstündə görünən yeni bir pəncərə yaradır.- Pəncərə elementləri: Pop-up pəncərənin içərisinə yazı, giriş sahələri və düymələr əlavə edilə bilər.
- "Bağla" düyməsi:
popup.destroyfunksiyası pop-up pəncərəni bağlayır.
4. Dialoqlar və pop-up pəncərələr ilə tam tətbiq
İndi standart dialoq pəncərələri, fayl seçimi və istifadəçi pop-up pəncərəsini özündə birləşdirən bir tətbiq yaradacağıq.
import tkinter as tk
from tkinter import messagebox, filedialog
# Standart dialoqlar üçün funksiyalar
def show_info():
messagebox.showinfo("Məlumat", "Bu məlumat mesajıdır")
def show_warning():
messagebox.showwarning("Xəbərdarlıq", "Bu xəbərdarlıq mesajıdır")
def show_error():
messagebox.showerror("Xəta", "Xəta baş verdi!")
def confirm_exit():
response = messagebox.askyesno("Çıxış", "Həqiqətən çıxmaq istəyirsiniz?")
if response:
root.quit()
def open_file():
file_path = filedialog.askopenfilename(title="Faylı aç", filetypes=[("Mətn faylları", "*.txt"), ("Bütün fayllar", "*.*")])
if file_path:
messagebox.showinfo("Seçilmiş fayl", file_path)
def save_file():
file_path = filedialog.asksaveasfilename(title="Faylı saxla", defaultextension=".txt", filetypes=[("Mətn faylları", "*.txt"), ("Bütün fayllar", "*.*")])
if file_path:
messagebox.showinfo("Fayl kimi saxlandı", file_path)
def select_directory():
directory_path = filedialog.askdirectory(title="Qovluğu seçin")
if directory_path:
messagebox.showinfo("Seçilmiş qovluq", directory_path)
# Tənzimlənə bilən pop-up pəncərə üçün funksiya
def open_popup():
popup = tk.Toplevel(root)
popup.title("Pop-up pəncərə")
popup.geometry("300x200")
tk.Label(popup, text="Adınızı daxil edin:").pack(pady=10)
name_entry = tk.Entry(popup)
name_entry.pack(pady=5)
tk.Button(popup, text="Bağla", command=popup.destroy).pack(pady=10)
# Əsas pəncərə
root = tk.Tk()
root.title("Dialoq və pop-up pəncərələr ilə tətbiq")
root.geometry("400x400")
# Müxtəlif dialoqlar və pop-up pəncərəsini çağıran düymələr
tk.Button(root, text="Məlumat", command=show_info).pack(pady=5)
tk.Button(root, text="Xəbərdarlıq", command=show_warning).pack(pady=5)
tk.Button(root, text="Xəta", command=show_error).pack(pady=5)
tk.Button(root, text="Çıxışı təsdiqləyin", command=confirm_exit).pack(pady=5)
tk.Button(root, text="Faylı aç", command=open_file).pack(pady=5)
tk.Button(root, text="Faylı saxla", command=save_file).pack(pady=5)
tk.Button(root, text="Qovluğu seçin", command=select_directory).pack(pady=5)
tk.Button(root, text="Pop-up pəncərə aç", command=open_popup).pack(pady=20)
root.mainloop()
GO TO FULL VERSION