Warum ist Python so?
import testgut
import tkinter as tk
window = tk.Tk()
but = tk.Button(window,text="start",command=testgut.eigenschaften)
but.pack()
window.mainloop()
testgut.eigenschaften()
Wenn ich die Definition "eigenschaften" ausführe, funktioniert sie.
Wenn ich aber die Definition "eigenschaften" mit einem Tinkerbutton ausführe, funktioniert sie nicht.
Warum ist das so?
2 Antworten
![](https://images.gutefrage.net/media/user/Schachpapa/1456653634658_nmmslarge__116_32_432_432_d36a6a6d62721271685e85017f4dbcb0.jpg?v=1456653637000)
Die Methode eigenschaften() ist keine Python-Standardmethode. Sie wurde offenbar in dem importierten Modul testgut neu definiert.
Daher funktioniert das für testgut , aber nicht für tk.Button
![](https://images.gutefrage.net/media/user/CompilerGuru/1714803108703_nmmslarge__0_0_1080_1080_6145e06401a4d56d7dfd2a6b5c0e7ff5.jpg?v=1714803109000)
Vielleicht mal mit lambda versuchen:
command=lambda: testgut.eigenschaften()
Woher ich das weiß:Hobby – Ich programmiere in meiner Freizeit oft komplexe Anwendungen