Was mach ich falsch?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Iopodx
User
Beiträge: 68
Registriert: Sonntag 5. September 2004, 08:58

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!
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

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
[code]#!/usr/bin/env python
import this[/code]
Iopodx
User
Beiträge: 68
Registriert: Sonntag 5. September 2004, 08:58

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 :)
Antworten