2016-07-26 7 views
1

Ich möchte herausfinden, welchen Befehl ich der Schaltfläche in meiner Tkinter GUI zuweisen muss, um die Ergebnisse zu drucken.Befehl an Taste zuweisen - Tkinter

Das Setup soll aaaa.py laufen lassen.

def question(): 
    import xxxx 
    return xxxx.hoeveel() 


if __name__ == '__main__': 
    from bbbb import response 
    def juist(): 
     return response() 
    print juist() 

Wenn aaaa.py Laufen bekomme ich eine Tkinter GUI basierend auf Skript

from Tkinter import * 
import ttk 



def hoeveel(): 
    return int(x=gewicht.get(), base=10) 

frame = Tk() 

gewicht = StringVar() 

a = Label(frame, text="Wat is uw gewicht in kilogram?:").grid(row=1, column=1, sticky='w') 
aa = Entry(frame, text="value", textvariable=gewicht, justify='center', width=10) 
aa.grid(row=1, column=2, padx=15) 

bereken = ttk.Button(frame, text='Bereken') 
bereken.grid(column=1, row=2, columnspan=2, ipadx=15, pady=25) 
mainloop() 

Die Eingabe in der Tkinter GUI xxxx.py gegeben xxxx.py gesendet wird für einige Berechnungen bbbb.py.

from aaaa import question 
mass_stone = question() * 2.2/14 


def response(): 
    return str("Uw gewicht in kilograms is gelijk aan " + ("{0:.5}".format(mass_stone)) + " stone.") 

Mein Problem ist, dass ich nur die Ausgabe „Uw Gewicht in Kilogramm gelijk aan‚x (je nach dem Wert-Eingang)‘Stein, wenn ich das Tkinter Fenster zu schließen.

Ich mag erhalten die Ergebnisse, wenn ich die Taste drücken.

Irgendwelche Tipps?

+0

Welche Ergebnisse? Hol sie wann und mach was mit ihnen? – martineau

+0

@martineau, wenn Sie aaaa.py ausführen, erhalten Sie ein Tkinter-Fenster. In diesem Fenster bekommst du eine Frage "Wat ist dein Gewicht in Kilogramm?" Neben der Frage erhalten Sie ein Eingabefeld. In diesem Eingabefeld geben Sie Ihr Gewicht in kg ein. Wenn Sie nun das Tkinter-Fenster mit dem "X" schließen, erhalten Sie in CMD die Antwort basierend auf den Berechnungen in bbbb.py, das heißt "Uw Gewicht in Kilogramm ist gelijk aan 15.714 Stein." Was ich erreichen möchte, ist, anstatt das Tkinter-Fenster zu schließen, um das Ergebnis zu erhalten, dass, wenn Sie den "Berekening" -Button drücken, das Ergebnis gedruckt wird. – Wouter

Antwort

1

ich glaube, ich habe eine Antwort gefunden, aber ich bin nicht sicher, ob es die eleganteste Art und Weise, es zu tun. Wenn Sie einen anderen kennen Weise und richtigere Art und Weise lassen Sie bitte wissen kennen.

So müssen Sie aaaa.py

import xxxx 
def question(): 
    return xxxx.hoeveel() 

xxxx.py

from Tkinter import * 
import ttk 
import bbbb 

def hoeveel(): 
    return int(x=gewicht.get(), base=10) 

frame = Tk() 

gewicht = StringVar() 

a = Label(frame, text="Wat is uw gewicht in kilogram?:").grid(row=1, column=1, sticky='w') 
aa = Entry(frame, text="value", textvariable=gewicht, justify='center', width=10) 
aa.grid(row=1, column=2, padx=15) 

bereken = ttk.Button(frame, text='Bereken', command=bbbb.berekening) 
bereken.grid(column=1, row=2, columnspan=2, ipadx=15, pady=25) 
mainloop() 

und schließlich

bbbb.py

012 laufen
from aaaa import question 
def berekening(): 
    mass_stone = question() * 2.2/14 
    print mass_stone 

Wenn Sie aaaa.py ausführen, erhalten Sie den Tkinter Gui mit der Frage. Geben Sie Ihr Gewicht ein und drücken Sie "Bereken" Sie erhalten die Antwort gedruckt, wie ich es wollte.

+1

Ja, so ist es gemacht. – martineau

+0

@martineau Cool, danke für die Rückmeldung, jetzt muss ich die Ausgabe im Tkinter-Fenster statt der Cmd – Wouter

+1

Holen Sie ein weiteres 'Label' Objekt, um das Ergebnis anzuzeigen. Dann rufen Sie in 'berekening()' ihre 'config()' Methode wie 'result_label.config (text = str (mass_stone))' auf. – martineau