لديك تحدي في تحديد كيفية تمرير معامل لوظيفة معينة عند الضغط على زر في Tkinter. في الواقع، يمكنك تحقيق ذلك باستخدام وظيفة وسيطة (wrapper function) التي تُعيد وظيفة أخرى تحتوي على المعامل المطلوب. هناك عدة طرق للقيام بذلك، وإليك كيفية تحقيقها:
pythonfrom tkinter import *
root = Tk()
def function(parameter):
print(parameter)
def wrapper():
function('Test')
button = Button(root, text="Button", command=wrapper)
button.pack()
root.mainloop()
في هذا المثال، يتم إنشاء وظيفة wrapper
التي تقوم بإعادة استدعاء وظيفة function
وتمرير المعامل المطلوب عند الضغط على الزر. ومن ثم، يتم تعيين command=wrapper
للزر مما يعني أن الوظيفة wrapper
ستُستدعى عند الضغط على الزر.
-
تحليل وحل مشكلة strtok في لغة C14/03/2024
-
كيفية تحديد نوع الملف في نظام Unix29/03/2024
-
تحويل موقعك إلى HTTPS: الأمان والثقة31/03/2024
المزيد من المعلومات
بالطبع! في Tkinter، يمكنك استخدام مكتبة functools
لتحقيق نفس الغرض بشكل أنيق باستخدام functools.partial
. إليك كيف يمكنك فعل ذلك:
pythonfrom tkinter import *
from functools import partial
root = Tk()
def function(parameter):
print(parameter)
button = Button(root, text="Button", command=partial(function, 'Test'))
button.pack()
root.mainloop()
هنا، تستخدم functools.partial
لإنشاء وظيفة جديدة تعمل كوسيط بين الوظيفة function
والمعامل 'Test'
، ثم تمرير هذه الوظيفة كوسيط إلى command
للزر. عند الضغط على الزر، يتم استدعاء الوظيفة الجديدة وتمرير المعامل 'Test'
إلى الوظيفة function
.