tkinter python 和全局命令
tkinter python and global command
我是 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
来访问该条目
现在让我们以第二种方式使用相同的代码:
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()
从另一个 class 或函数访问 ip 条目的最佳方法是什么?我试图做的并且它的工作只是将这个变量的全局放在函数中
def Widgets(self):
global ip
ipLabel = Label(top_frame, text='IP Address:', fg='blue', bg='cyan')
ip = Entry(top_frame)
我想知道是否还有其他方法,最好的方法是什么?
提前致谢
在App.Widgets()中将ip替换为self.ip,然后就可以从其他地方访问了,例如MyApp.ip.
我是 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
现在让我们以第二种方式使用相同的代码:
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()
从另一个 class 或函数访问 ip 条目的最佳方法是什么?我试图做的并且它的工作只是将这个变量的全局放在函数中
def Widgets(self):
global ip
ipLabel = Label(top_frame, text='IP Address:', fg='blue', bg='cyan')
ip = Entry(top_frame)
我想知道是否还有其他方法,最好的方法是什么?
提前致谢
在App.Widgets()中将ip替换为self.ip,然后就可以从其他地方访问了,例如MyApp.ip.