Seite 1 von 1

tkinter input Volumen

Verfasst: Sonntag 29. März 2015, 22:08
von felix234
Also ich hätte meine erste Frage hier im Forum, und zwar habe ich dazu noch nichts gefunden:
ich möchte ein Programm schreiben das tkinter benutzt, und das einen input durch 3 teilt(hier die Funktion dazu)

Code: Alles auswählen

    def ausgeben(self):                                      
        self.ausgabe.config(text= self.eingabe/3())
        self.eingabe.delete(0,END)
und dann diesen Wert ausgibt. Irgendwie funktioniert das nicht ganz und deswegen wollt eich mal fragen was da alles falsch ist, finde nämlich nichts...bekomme nur diese Meldung:

SyntaxError: multiple statements found while compiling a single statement

lg Felix



Hier der ganze code:

Code: Alles auswählen

from tkinter import *

class stringverarbeitung:
    
    def __init__(self, master):
        rahmenEingabe = Frame(master)
        rahmenEingabe.pack()
        self.label = Label(rahmenEingabe, text= "Bitte Volumen eingeben")
        self.label.pack(side = "left")
        self.eingabe =  Entry(rahmenEingabe, width "30")
        self.eingabe.pack(side = "left")
        self.button = Button(rahmenEingabe, text ="Ausgeben",
                                    width = 11, height = 1, command = self.ausgeben)
        self.button.pack(side="left")
        rahmenAusgabe = Frame(master)
        rahmenAusgabe.pack()
        self.ausgabe = Label(rahmenAusgabe, height ="2", width= "50",
                       background= "yellow")
        self.ausgabe.pack()

    
    def ausgeben(self):
        self.ausgabe.config(text= self.eingabe/3())
        self.eingabe.delete(0,END)
    




root = Tk()
root.title("Volumen")
root.geometry("600*600")
app = Stringverarbeitung(root)
root.mainloop()

Re: tkinter input Volumen

Verfasst: Sonntag 29. März 2015, 22:15
von BlackJack
@felix234: Erklär doch mal was jeder einzelne Teilausdruck in der Zeile bedeutet. Ziehe die Berechnung des Wertes für das `text`-Argument mal dort heraus und binde das an einen Namen. Wie sieht der Ausdruck dafür dann aus?

Neben dem Syntaxfehler kann man übrigens ein GUI-Element nicht durch eine Zahl teilen. Du müsstest schon den *Text* ermitteln der dort eingegeben wurde, den dann in eine Zahl umwandeln, und *die* durch drei Teilen.

Re: tkinter input Volumen

Verfasst: Montag 30. März 2015, 12:15
von felix234
ERstmal fetten Dank für deine antwort zu mienm langweiligem Thema!!
Habe jetzt alles ein bisschen geändert(wie du es gesagt hast), geht aber immer noch nicht:(

lg Felix

Code: Alles auswählen

from tkinter import *
 
class stringverarbeitung:
    




   
    def __init__(self, master):
    
        rahmenEingabe = Frame(master)
        rahmenEingabe.pack()
        self.label = Label(rahmenEingabe, text= "Wie lautet dein Wert?")
        self.label.pack(side = "left")
        self.eingabe = Entry(rahmenEingabe, width= "10",)
        self.eingabe.pack(side = "left")
                

        self.button2 = Button(rahmenEingabe, text ="umwandeln",
                              width = 4, height = 1, command = self.integer)
        self.button2.pack(side= "left")

        rahmenRechnung = Frame(master)
        rahmenRechnung.pack()

        self.button3 = Button(rahmenRechnung, text = "rechnen",
                              width = 7, height = 1, command = self.rechnen)
        self.button3.pack(side = "left")

        
        self.button = Button(rahmenEingabe, text ="Ausgeben",
                                    width = 11, height = 1, command = self.ausgeben)
        self.button.pack(side="left")

        
        rahmenAusgabe = Frame(master)
        rahmenAusgabe.pack()
        self.ausgabe = Label(rahmenAusgabe, height ="2", width= "50",
                       background= "yellow")
        self.ausgabe.pack()

    def integer(self):
        self.Wert = int
        self.Wert = self.eingabe
    
        
    def rechnen(self):
        a = self.Wert / 3
        print(a)
        

        


    def ausgeben(self):
        self.ausgabe.config(text=a)
        self.eingabe.delete(0,END)
   
 
 
 
 
root = Tk()
root.title("Volumen")
root.geometry("300x100")
app = stringverarbeitung(root)
root.mainloop()



Re: tkinter input Volumen

Verfasst: Montag 30. März 2015, 12:33
von Sirius3
@felix234: was heißt "geht nicht"? Gibt es eine Fehlermeldung?
Was denkst Du macht Zeile 44? Und welchen Typ hat "self.Wert" in Zeile 45?

Re: tkinter input Volumen

Verfasst: Montag 30. März 2015, 16:34
von felix234
Also mit geht nicht meine ich das ich einfach einen syntax error bekomme, aber keine markierung finde...
Und das self ist in dem Fall nur da, weil ich den Wert zuerst nicht als Variable gemacht habe(hat nicht funktioniert) und jetzt einfach beides übernommen habe, sonst erkennt es das ganze ja nicht
lg und danke für die antwort

Re: tkinter input Volumen

Verfasst: Montag 30. März 2015, 16:48
von Sirius3
@felix234: der Code den Du gepostet hat, hat keinen SyntaxError. Also entweder Du hast etwas anderes ausprobiert oder aber Du bekommst einen anderen Fehler.
Du hast noch nicht die beiden Fragen beantwortet: Was denkst Du macht Zeile 44? Und welchen Typ hat "self.Wert" in Zeile 45?