对此有异议,我想我会寻求一些建议。我有一个程序,我正在创建这是一个简单的ftp登录客户端。以下是我一直使用的代码:
主模块代码:
from ftplib import FTP
import os
from TKPractice import tk_method
def main():
P = tk_method()
print('Welcome to the FTP Directory Transfer Tool.')
print('You can use this program to move Directories from one platform to
another')
Connect(P)
def Connect(P):
pingstatus = P.GETFTP()
以及我创建的类中的代码:
从tkinter导入*
class tk_method(Tk):
def __init__(self):
Tk.__init__(self)
def FTPSUBMIT(self):
self.ftpentry = self.ftpentry.get()
def GETFTP(self):
root = Tk()
root.title('GETFTP')
root.wm_withdraw()
self.ftpentry = Entry(self)
self.submit = Button(self, text='Submit', command = self.FTPSUBMIT)
self.submit.pack()
self.ftpentry.pack()
root.mainloop()
if __name__ == '__main__':
root = Tk()
run = tk_method()
root.mainloop()
root.wm_withdraw()
我得到的错误是self.ftpentry=self.ftpentry.get() AttributeError:“str”对象没有属性“get”
请告知
您的代码有几个问题需要解决
我马上看到的第一个问题是您多次使用tkinters
Tk()
。您应该只创建Tk()
的一个实例,然后从那里创建Frame
和Toplevel
的组合来创建接口的其余部分接下来不要在这里使用
root.wm_withdraw()
来掩盖您多次使用Tk()
所看到的问题。请记住,任何超过mainloop()
的代码在关闭程序之前都不会运行,因此该行在这里是无用的在大多数情况下,这段代码可以减少很多,一个更干净的版本看起来像这样
相关问题 更多 >
编程相关推荐