Button Command

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Bulli03
User
Beiträge: 11
Registriert: Donnerstag 17. Oktober 2019, 12:47

Ich habe es jetzt so gemacht, das Programm meckert dennoch da er ein Argument brauch. Ich weiß aber nicht was das Programm für ein Argument von mir haben möchte.

Code: Alles auswählen

import tkinter as tk
from random import randint
from functools import partial

zahl1 = randint(1, 100)
zahl2 = randint(1, 100)
pruefe_ergebnis = tk.Entry


def pruefe_ergebnis (a):
    pruefe_ergebnis = int(())
    pruefe_ergebnis.delete(0,'end')
    pruefe_ergebnis = tk.Entry
    pruefe_ergebnis == zahl1 + zahl2
    pruefe_ergebnis_a = partial(tk.Entry == zahl1+zahl2)
    print(pruefe_ergebnis_a(zahl1=randint(1,100), zahl2=randint(1,100)))
Benutzeravatar
noisefloor
User
Beiträge: 4185
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
pruefe_ergebnis_a = partial(tk.Entry == zahl1+zahl2)
Das ist ja auch kein valides Python bzw. so funktioniert `partical` nicht. Schau' dir nochmal die Beispiele von Sirius3 an.

Was bei dir falsch ist: partial erwartet eine Funktion und eine oder mehrere Argumente für die Funktion als Argument. Du lieferst in der obigen Codezeile beides nicht.
`tk.Entry == zahl1+zahl2` ist ein Vergleich, wo entweder `True` oder `False` rauskommt. Mal abgesehen davon, dass es keinen Sinn macht macht, eine Methode (`tk.Entry`) mit einer Zahl zu vergleichen.

Und nochmal: `partial` verstehen ist gut, aber der klassenbasierte Ansatz für eine GUI ist definitiv besser.

Gruß, noisefloor
Bulli03
User
Beiträge: 11
Registriert: Donnerstag 17. Oktober 2019, 12:47

Okay, danke für den Hinweis,. Wie funktioniert denn der klassenbasierte Ansatz? Bzw. wie sehen die befehle dafür aus?
Benutzeravatar
noisefloor
User
Beiträge: 4185
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Wie funktioniert denn der klassenbasierte Ansatz? Bzw. wie sehen die befehle dafür aus?
Du musst halt eine Klasse schreiben, die die Methoden der GUI enthält. Dazu hatte ich dir ja auch schon mal was geschrieben.

Wenn du damit nichts anfangen kannst, dann solltest du vielleicht nochmal einen Schritt zurück gehen und die Grundlagen von Python bzw Pythons Ansatz der Objektorientierung und Klassen durcharbeiten. Ohne das Verständnis kannst nie eine vernünftige GUI programmieren.

Gruß, noisefloor
Antworten