سؤال

أنا خلق جديد زر كائن ولكن لم يحدد command الخيار على الخلق.هل هناك طريقة في Tkinter إلى تغيير الأمر (onclick) وظيفة بعد موضوع تم إنشاؤها ؟

هل كانت مفيدة؟

المحلول

على الرغم من ايلي Courtwright هو البرنامج سوف يعمل fine1 ما يبدو أنك حقا تريد على الرغم من مجرد وسيلة لإعادة تكوين بعد مثيل في أي السمة التي كنت قد وضعت عند instantiated2.كيف يمكنك القيام بذلك عن طريق تكوين الأسلوب ().

from Tkinter import Tk, Button

def goodbye_world():
    print "Goodbye World!\nWait, I changed my mind!"
    button.configure(text = "Hello World!", command=hello_world)

def hello_world():
    print "Hello World!\nWait, I changed my mind!"
    button.configure(text = "Goodbye World!", command=goodbye_world)

root = Tk()
button = Button(root, text="Hello World!", command=hello_world)
button.pack()

root.mainloop()

1 "بخير" إذا كنت تستخدم الماوس فقط;إذا كنت الرعاية حول الجدولة باستخدام [الفضاء] أو [Enter] على الأزرار ، ثم سيكون لديك لتنفيذ (تكرار التعليمات البرمجية الموجودة) بضغطة الأحداث أيضا.وضع command الخيار من خلال .configure هو أسهل بكثير.

2 السمة الوحيدة التي لا يمكن أن تتغير بعد إنشاء مثيل هو name.

نصائح أخرى

بالتأكيد ؛ مجرد استخدام bind طريقة لتحديد رد بعد زر تم إنشاؤه.لقد كتبت واختبارها المثال أدناه.يمكنك العثور على البرنامج التعليمي لطيفة على القيام بذلك في http://www.pythonware.com/library/tkinter/introduction/events-and-bindings.htm

from Tkinter import Tk, Button

root = Tk()
button = Button(root, text="Click Me!")
button.pack()

def callback(event):
    print "Hello World!"

button.bind("<Button-1>", callback)
root.mainloop()
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top