Ich möchte mir gerade ein GUI für meine Caesar-Verschlüsselung basteln. Aber immer wenn ich diese starte, kommt das ``tkMessageBox.showinfo()``-Fenster, und bei Klick auf den »Encrypt«-Knopf passiert nichts. Woran liegt das? Wo liegt mein doofer Denkfehler?

Code: Alles auswählen
#!/usr/bin/env python
import caesar
import Tkinter
import ScrolledText
import tkMessageBox
class Application(Tkinter.Frame):
def create_widgets(self):
self.shift_input = Tkinter.Entry(self)
self.shift_input.pack()
self.shift_content = Tkinter.StringVar()
self.shift_input['textvariable'] = self.shift_content
self.textfield = ScrolledText.ScrolledText(self)
self.textfield.pack()
self.encrypt_button = Tkinter.Button(self, text='Encrypt')
self.encrypt_button['command'] = tkMessageBox.showinfo('Shift', self.shift_content.get())
self.encrypt_button.pack({"side": "left"})
self.decrypt_button = Tkinter.Button(self, text='Decrypt')
self.decrypt_button.pack({"side": "left"})
self.quit_button = Tkinter.Button(self, text='Quit')
self.quit_button['command'] = self.quit
self.quit_button.pack({"side": "right"})
def __init__(self, master=None):
Tkinter.Frame.__init__(self, master)
self.pack()
self.create_widgets()
root = Tkinter.Tk()
app = Application(master=root)
app.mainloop()
root.destroy()
Code: Alles auswählen
self.encrypt_button['command'] = tkMessageBox.showinfo('Shift', self.shift_content.get())
Bei dem funktioniert es ja:
Code: Alles auswählen
self.quit_button['command'] = self.quit
Jakob.