Seite 1 von 1

Übersetzungsprogramm

Verfasst: Sonntag 29. Mai 2011, 13:13
von jtschoch
Hi Leute,

ich brauche wiedermal Hilfe

Ich bin gerade dabei ein Übersetzungsprogramm zu schreiben
aber ich griege es mit den übergeben nicht hin

#Uebersetzungsprogramm

Code: Alles auswählen

import Tkinter
import tkMessageBox
import Tkinter as tk
from Tkinter import *


#######################################################
def schreibeintemp():
  text = daten["Deutsch"]
  deutsch = open("temp.txt",'w')
  deutsch.write(text)
  deutsch.close()
#######################################################
def ausgabe(daten):
  root=Tkinter.Tk()
  textd = daten["Deutsch"]
  root.title("Uebersetzungsprogramm")
  root.config(bg = "#E3E2E9")
  woerterbuch = { 
              "Germany" : "Deutschland", 
              "Spain" : "Spanien", 
              "France" : "Frankreich" 
              }
  #deutsch = open("temp.txt",'r')
  #uebersetzung = deutsch.read()
  text = woerterbuch["" + textd]
  lausgabe = Tkinter.Label(root, text = "" + text,  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

  lausgabe.grid(row = 1)
  deutsch.close()
  root.mainloop()
###################################################

         
def eingabe():
  
  root=Tkinter.Tk()
  root.title("Uebersetzungsprogramm")
  root.config(bg = "#E3E2E9")

  root.geometry('570x550')
  ldeutsch = Tkinter.Label(root, text = "Englishes Wort:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))


  ldeutsch.grid(row = 1)   

  edeutsch = Tkinter.Entry(root, relief = "ridge", bg = "#FFFFFF", fg = "red",
                        font =('Arial', 11, 'bold'))

  edeutsch.grid(row = 1, column = 1, ipadx = 50, padx = 4, pady = 20)
  edeutsch.insert(1, "")

  deutschu = edeutsch.get()

  OK=Button(text='Uebersetzen',command = ausgabe)

  OK.place(relx=0.45, rely=0.91, relwidth=0.20, relheight=0.08)
  root.mainloop()
  uebersetzung = {
       "Deutsch": deutschu
       }
  return uebersetzung

###############################################
daten = eingabe()
#schreibeintemp(daten)
ausgabe(daten)

  
Kuckt euch bitte den code an


------------------------------------------------------------------------------------
Noch was:

wie kann ich den Text Linksbündig machen

Re: Übersetzungsprogramm

Verfasst: Sonntag 29. Mai 2011, 13:17
von Hyperion
jtschoch hat geschrieben: Ich bin gerade dabei ein Übersetzungsprogramm zu schreiben
aber ich griege es mit den übergeben nicht hin
Was willst Du uns damit sagen? Genauer: Was ist denn Dein Problem?
Du solltest doch mal mittlerweile gelernt haben, dass man seine Fragen hier präzise formulieren muss, sonst kann Dir niemand helfen ;-)

Kleiner Hinweis:

Code: Alles auswählen

with open(...) as handler:
    # handler ist hier file-Object
# handler ist hier automatisch geschlossen
Daeien sollte man immer mit diesem Idiom öffnen.

Re: Übersetzungsprogramm

Verfasst: Sonntag 29. Mai 2011, 14:06
von jtschoch
Probier es doch mal aus
Ich will das eingetragene wort übersetzen und ausgeben in Tkinter

Re: Übersetzungsprogramm

Verfasst: Sonntag 29. Mai 2011, 14:09
von Hyperion
jtschoch hat geschrieben:Probier es doch mal aus
Wieso kannst Du nicht formulieren, was schief geht?

Re: Übersetzungsprogramm

Verfasst: Montag 30. Mai 2011, 14:30
von jtschoch

Code: Alles auswählen

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python27\lib\lib-tk\Tkinter.py", line 1410, in __call__
    return self.func(*args)
TypeError: ausgabe() takes exactly 1 argument (0 given)

Re: Übersetzungsprogramm

Verfasst: Montag 30. Mai 2011, 14:35
von EyDu
Und dann verrätst du uns noch, wann der Aufruf nicht funktioniert und was du vorher gemacht hast. Nicht, dass man es nicht aus dem Code sehen könnte, aber dann kannst du gleich noch einmal darüber nachdenken, warum es so nicht funktionieren kann. Die Fehlermeldung zu lesen hilft übrigens schon weiter ;-)

Re: Übersetzungsprogramm

Verfasst: Montag 30. Mai 2011, 14:37
von Xynon1
@jtschoch
Das ist immer noch keine adequate Fehlerbeschreibung.

Du rufst im Kommando des Button die Funktion Ausgabe mit einer leere Parameter aus. Hierzu solltest du von den "functools" "partial" importieren und die Funktion mit Parametern übergeben. dh.

Code: Alles auswählen

ok = Button(text=u"Übersetzen", command=partial(ausgabe, daten))

Re: Übersetzungsprogramm

Verfasst: Montag 30. Mai 2011, 15:00
von jtschoch
danke