问题描述
我是python的新手,我开始使用tkinter来构建简单的GUI。 我在一些示例中环顾四周,我发现有几种使用tkinter进行编程的方法(或通常编程)
第一种方法是程序性的,推荐的方法是OOP(如果我错了,请纠正我),所以这是一个问题:
假设我收到了这段代码,并且已经导入了库:
root = Tk()
ipLabel = Label(root, text='IP Address:', fg='blue', bg='cyan')
ip = Entry(root)
ipLabel.grid(row=0, column=0)
ip.grid(row=0, column=1, padx=1, pady=3)
root.mainloop()
现在,由于全局范围内的所有代码,我可以通过从任何其他函数或类执行ip.get()
来访问条目
现在,让我们以第二种方式使用相同的代码:
class App(Tk):
def __init__(self):
Tk.__init__(self)
self.Widgets()
def Widgets(self):
ipLabel = Label(self, text='IP Address:', fg='blue', bg='cyan')
ip = Entry(self)
ipLabel.grid(row=0, column=0)
ip.grid(row=0, column=1, padx=1, pady=3)
MyApp = App()
MyApp.mainloop()
从另一个类或函数访问ip条目的最佳方法是什么? 我试图做的并且正在工作的只是将全局变量放入函数中
def Widgets(self):
global ip
ipLabel = Label(top_frame, text='IP Address:', fg='blue', bg='cyan')
ip = Entry(top_frame)
我想知道是否还有另一种方法,什么是最好的方法?
提前致谢
1楼
在App.Widgets()中将ip替换为self.ip,然后可以从其他位置(例如MyApp.ip)访问它。