Tkinter Button
مقدمة إلى أداة زر Tkinter
تمثل أدوات الأزرار عنصرًا قابلاً للنقر في التطبيقات. عادةً ما تستخدم نصًا أو صورة لعرض الإجراء الذي سيتم تنفيذه عند النقر فوقها.
يمكن للأزرار عرض النص بخط واحد. ومع ذلك ، يمكن أن يمتد النص على عدة أسطر. علاوة على ذلك ، يمكنك جعل أحد الأحرف تسطيرًا لتمييز اختصار لوحة المفاتيح.
لاستدعاء وظيفة أو
طريقة من فئة تلقائيًا
عند النقر فوق الزر ، يمكنك تعيين commandخيارها
للوظيفة أو الطريقة. يسمى هذا
الأمر بالربط في Tkinter .
لإنشاء
زر ، يمكنك استخدام ttk.Buttonالمُنشئ
على النحو التالي:
button = ttk.Button(container, **option)
الزر له العديد من الخيارات. ومع ذلك ، فإن النماذج النموذجية هي كما يلي:
button = ttk.Button(container, text, command)
في بناء الجملة هذا:
هو المكون
containerالرئيسي الذي تضع فيه الزر.هي تسمية
textالزر.تحدد وظيفة
commandرد الاتصال التي سيتم استدعاؤها تلقائيًا عند النقر فوق الزر.
رد نداء الأمر
يربط commandالخيار
إجراء الزر بوظيفة أو طريقة لفئة. عند
النقر فوق الزر أو الضغط عليه ، فإنه يقوم
تلقائيًا باستدعاء وظيفة رد الاتصال.
لتعيين
رد نداء commandللخيار
، يمكنك استخدام تعبير lambda:
def callback():
# do something
ttk.Button(
root,
text="Demo Button",
command=callback
)
إذا كانت الوظيفة تحتوي على تعبير واحد ، فإنك تستخدم تعبير لامبا:
ttk.Button(
root,
text="Demo Button",
command=lambda_expression
)
حالات الزر
الحالة
الافتراضية للزر هي normal. في normalالحالة
، سيستجيب الزر لأحداث الماوس وضغطات
لوحة المفاتيح عن طريق استدعاء وظيفة رد
الاتصال المعينة لخيار الأمر الخاص به.
يمكن
أن يكون للزر disabledالحالة
أيضًا. في disabledالحالة
، يكون الزر غير نشط ولا يستجيب لأحداث
الماوس وضغطات لوحة المفاتيح.
للتحكم
في حالة الزر ، يمكنك استخدام state()الطريقة:
button.state(['disabled'])
button.state(['!disabled'])
أمثلة زر Tkinter
لنأخذ بعض الأمثلة على استخدام أدوات الأزرار.
1) مثال زر بسيط Tkinter
يوضح
البرنامج التالي كيفية عرض Exitزر. عند
النقر فوقه ، يتم إنهاء البرنامج.
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry('300x200')
root.resizable(False, False)
root.title('Button Demo')
exit_button = ttk.Button(
root,
text='Exit',
command=lambda: root.quit()
)
exit_button.pack(
ipadx=5,
ipady=5,
expand=True
)
root.mainloop()
كيف تعمل.
ما
يلي يُنشئ Exitالزر:
exit_button = ttk.Button( root, text='Exit', command=lambda: root.quit() )
يتم تعيين أمر الزر لتعبير lambda الذي يغلق نافذة الجذر.
2) مثال زر تكينتر الصورة
يوضح البرنامج التالي كيفية عرض زر الصورة. للتدرب على هذا المثال ، تحتاج إلى تنزيل الصورة التالية أولاً:
![]()
فقط
انقر بزر الماوس الأيمن واحفظه في مجلد
يمكن الوصول إليه من البرنامج التالي ،
على سبيل المثال ، assetsالمجلد:
import tkinter as tk
from tkinter import ttk
from tkinter.messagebox import showinfo
root = tk.Tk()
root.geometry('300x200')
root.resizable(False, False)
root.title('Image Button Demo')
def download_clicked():
showinfo(
title='Information',
message='Download button clicked!'
)
download_icon = tk.PhotoImage(file='./assets/download.png')
download_button = ttk.Button(
root,
image=download_icon,
command=download_clicked
)
download_button.pack(
ipadx=5,
ipady=5,
expand=True
)
root.mainloop()
كيف تعمل.
أولاً ، قم بإنشاء مثيل جديد
tk.PhotoImageللفئة التي تشير إلى ملف الصورة'./assets/download.png'.ثانيًا ، قم بإنشاء
ttk.Buttonخيار الصورة الذي تم تعيينه للصورة.ثالثًا ، قم بتعيين وظيفة
commandللخيار. عند النقر فوق الزر ، سوف يقوم باستدعاءdownload_clickedالوظيفة التي تعرض مربع رسالة.
3) عرض زر الصورة
لعرض
كل من النص والصورة على زر ، تحتاج إلى
استخدام compoundالخيار. إذا
لم تقم بذلك ، فسيعرض الزر النص فقط وليس
الصورة.
يوضح ما يلي كيفية عرض كل من النص والصورة على زر:
import tkinter as tk
from tkinter import ttk
from tkinter.messagebox import showinfo
root = tk.Tk()
root.geometry('300x200')
root.resizable(False, False)
root.title('Image Button Demo')
def download_clicked():
showinfo(
title='Information',
message='Download button clicked!'
)
download_icon = tk.PhotoImage(file='./assets/download.png')
download_button = ttk.Button(
root,
image=download_icon,
text='Download',
compound=tk.LEFT,
command=download_clicked
)
download_button.pack(
ipadx=5,
ipady=5,
expand=True
)
root.mainloop()


ليست هناك تعليقات:
إرسال تعليق