Seite 1 von 1

Was mach ich falsch?

Verfasst: Dienstag 4. Januar 2005, 18:38
von Iopodx
Hiho Gemeinde, warum geht das net:

Code: Alles auswählen

Button(root, text='Execute FTPCommand',  command=lambda:ftp(root, Result, FTPCommand.get(), FTP.get(), User.get(), Pass.get())).place(x=507, y=370)
Wenn ich in die gets noch 0.0, END einfüge gehts auch net?

Fehlermeldung:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python23\lib\lib-tk\Tkinter.py", line 1345, in __call__
return self.func(*args)
File "C:\Python23\cmd.py", line 55, in <lambda>
Button(root, text='Execute FTPCommand', command=lambda:ftp(root, Result, FTPCommand.get(), FTP.get(), User.get(), Pass.get())).place(x=507, y=370)
TypeError: get() takes at least 2 arguments (1 given)
Danke schonmal im vorraus!

Verfasst: Dienstag 4. Januar 2005, 19:37
von Dookie
Hi Iopodx,

also in dem Fall wozu das lambda? Mach eine Funktion daraus, die übergibst Du statt dem lambda und bekommst eine genauere Fehlermeldung, welches der vielen .get() noch einen Parameter braucht.

Code: Alles auswählen

def exec_ftp():
    cmd = FTPCommand.get()
    ftp = FTP.get()
    user = User.get()
    pw = Pass.get()
    ftp(root, Result, cmd, ftp, user, pw)

myButton = Button(root, text='Execute FTPCommand',  command=exec_ftp)
myButton.place(x=507, y=370)
Ist doch übersichtlicher, und bei der Fehlermeldung bekommst die genaue Zeile welches get noch einen Parameter braucht.


Gruß

Dookie

Verfasst: Dienstag 4. Januar 2005, 19:46
von Iopodx
Habs schon. Lag daran, das einmal get ne Textbox war und da und auch nur da hab ich das ".get(0.0, END)" gebraucht!

Danke :)