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()
ليست هناك تعليقات:
إرسال تعليق