آموزش رابط گرافیکی پایتون | جلسه چهارم: ویجتهای پرکاربرد Tkinter و تنظیمات پیشرفته آنها
۱. Label — نمایش متن و تصویر با تنظیمات بیشتر
|
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ |
import tkinter as tk root = tk.Tk() root.geometry("۴۰۰x200") label = tk.Label(root, text="سلام دنیا!", font=("Arial", ۲۰), fg="blue", bg="yellow", padx=۱۰, pady=۱۰) label.pack(pady=۲۰) root.mainloop() |
fg: رنگ متن (foreground)
bg: رنگ پسزمینه
padx, pady: فاصله داخلی دور متن
۲. Button — دکمه با تنظیمات مختلف
|
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ |
import tkinter as tk def on_click(): print("دکمه کلیک شد!") root = tk.Tk() root.geometry("۲۰۰x100") button = tk.Button(root, text="کلیک کن", fg="white", bg="green", font=("Tahoma", ۱۴), command=on_click) button.pack(pady=۲۰) root.mainloop() |
command: تابعی که هنگام کلیک اجرا میشود.
۳. Entry — فیلد ورودی متن
|
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ |
import tkinter as tk root = tk.Tk() root.geometry("۳۰۰x100") entry = tk.Entry(root, font=("Arial", ۱۴), fg="black", bg="lightgray", width=۲۵) entry.pack(pady=۲۰) root.mainloop() |
میتوان فونت، رنگ متن و پسزمینه را تغییر داد.
۴. Text — فیلد متن چندخطی (برخلاف Entry)
|
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ |
import tkinter as tk root = tk.Tk() root.geometry("۴۰۰x200") text = tk.Text(root, font=("Arial", ۱۲), height=۵, width=۴۰) text.pack(pady=۲۰) root.mainloop() |
میتوان با text.get(“1.0”, “end-1c”) متن را خواند.
۵. Checkbutton — جعبه انتخاب (تیک زدن)
|
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ |
import tkinter as tk root = tk.Tk() root.geometry("۳۰۰x100") var = tk.IntVar() check = tk.Checkbutton(root, text="قبول میکنم", variable=var) check.pack(pady=۲۰) def show_value(): print(f"وضعیت تیک: {var.get()}") button = tk.Button(root, text="بررسی", command=show_value) button.pack() root.mainloop() |
میتوان با var.get() مقدار را گرفت.
🧪 تمرین جلسه چهارم:
۱. یک پنجره بساز که شامل:
- یک Label با فونت و رنگ دلخواه
- یک Entry برای وارد کردن نام
- یک Text چند خطی برای توضیح
- یک Checkbutton برای تایید قوانین
- یک Button که وقتی کلیک شد:
مقدار Entry و Text را خوانده و نمایش دهد.
وضعیت Checkbutton را هم چاپ کند.
تمرین جلسه چهارم: پنجره با Label, Entry, Text, Checkbutton و Button با عملکرد خواندن دادهها
|
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴ ۲۵ ۲۶ ۲۷ ۲۸ ۲۹ ۳۰ ۳۱ ۳۲ ۳۳ ۳۴ ۳۵ ۳۶ ۳۷ ۳۸ ۳۹ |
import tkinter as tk from tkinter import messagebox def submit(): name = entry.get() description = text.get("۱.۰", "end-1c") # خواندن متن چندخطی از سطر ۱، کاراکتر ۰ تا انتها accepted = var.get() msg = f"نام: {name}\nتوضیح: {description}\nتایید قوانین: {'بله' if accepted else 'خیر'}" messagebox.showinfo("اطلاعات وارد شده", msg) root = tk.Tk() root.geometry("۴۰۰x350") root.title("تمرین ویجتهای پیشرفته") # Label label = tk.Label(root, text="فرم ثبت نام", font=("Tahoma", ۱۸), fg="blue") label.pack(pady=۱۰) # Entry entry = tk.Entry(root, font=("Arial", ۱۴), width=۳۰) entry.pack(pady=۱۰) entry.insert(۰, "نام خود را وارد کنید") # Text چندخطی text = tk.Text(root, font=("Arial", ۱۲), height=۵, width=۴۰) text.pack(pady=۱۰) # Checkbutton var = tk.IntVar() check = tk.Checkbutton(root, text="قوانین را قبول دارم", variable=var, font=("Arial", ۱۲)) check.pack(pady=۱۰) # Button button = tk.Button(root, text="ارسال", font=("Arial", ۱۴), bg="green", fg="white", command=submit) button.pack(pady=۱۵) root.mainloop() |
نکات مهم جلسه چهارم:
۱. خواندن متن از Entry و Text
Entry: entry.get()
\Text: text.get(“1.0”, “end-1c”) (از سطر ۱، کاراکتر صفر تا انتهای متن بدون خط آخر اضافی)
۲. Checkbutton و متغیرهای متصل به آن
از tk.IntVar() استفاده میکنیم
مقدار با var.get() گرفته میشود (۰ یا ۱)
۳. نمایش پیغام با messagebox
برای نمایش پیام اطلاعات به کاربر استفاده میشود.
به صورت پیشفرض نیاز به ایمپورت جداگانه دارد.
۴. تنظیم فونت و رنگ ویجتها
فونتها با (نام فونت، اندازه) تنظیم میشوند.
fg رنگ متن و bg رنگ پسزمینه هستند.
۵. پکیجکردن ویجتها با فاصلهها
pady و padx فاصله دور ویجت را کنترل میکند
پس اینجا یک خلاصه خیلی کوتاه و کاربردی از جلسات اول تا چهارم کتابخونه tkinter برات میفرستم که هر وقت وقت داشتی کامل بخونی:
خلاصه سریع آموزش tkinter چهار پارت اول:
۱. پنجره اصلی:
import tkinter as tk
root = tk.Tk()
root.geometry(“400×300”)
root.title(“عنوان پنجره”)
root.mainloop()
۲. جایگذاری ویجتها:
pack() سریع و ساده
grid(row, column) برای جدول
place(x, y) موقعیت دقیق
۳. ویجتهای پایه:
Label: نمایش متن و تصویر
Button: دکمه کلیکپذیر با command
Entry: فیلد تکخطی ورودی
Text: فیلد چندخطی ورودی
Checkbutton: جعبه تیک
۴. خواندن اطلاعات:
Entry: entry.get()
Text: text.get(“1.0”, “end-1c”)
Checkbutton: var.get() با IntVar
۵. تنظیمات ظاهری:
فونت: font=(“Arial”, 14)
رنگ متن: fg=”red”
رنگ پسزمینه: bg=”yellow”
فاصلهها: padx, pady
۶. نمایش پیغام:
from tkinter import messagebox
messagebox.showinfo(“عنوان”, “متن پیام”)
” لطفا سوالات خود را با ذکر عنوان مقاله ارسال کنید. آموزشگاه خانه رباتیک ایران در کنار شماست. “
آماده سازی فرم
لطفا صبر کنید
فرم ساز آسان





