В вашем коде есть несколько проблем для решения.
Первая проблема, которую я сразу вижу, - это использование вами tkinters Tk()
более одного раза.Вам следует создать только один экземпляр Tk()
, а затем использовать комбинацию Frame
и Toplevel
для создания остальной части вашего интерфейса.
Далее не используйте здесь root.wm_withdraw()
для маскировкипроблема, которую вы видите, используя Tk()
более одного раза.Имейте в виду, что все, что за mainloop()
не будет работать в любом случае, пока вы не закроете свою программу, так что строка здесь бесполезна.
По большей части этот код может быть значительно уменьшен, и более чистая версия будет выглядеть примерно так.
import tkinter as tk
class tkMethod(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.title('GETFTP')
self.ftpentry = tk.Entry(self)
self.submit = tk.Button(self, text='Submit', command=self.do_something)
self.submit.pack()
self.ftpentry.pack()
def do_something(self):
x = self.ftpentry.get()
# do something with x.
if __name__ == '__main__':
run = tkMethod()
run.mainloop()