我正在学习用 GUI 编写程序,但我无法用最好的原理来理解。
目前我正在尝试有 5 个条目,并且将写入条目的文本将自动更新为标签。到目前为止,这是我的代码:
import tkinter as tk
class MainApplication(tk.Frame):
def __init__(self, parent, *args, **kwargs):
tk.Frame.__init__(self, parent, *args, **kwargs)
self.parent = parent
# GUI starts here
self.label = tk.Label(parent, text="Give values")
self.label.grid(row="1")
self.entries()
self.labels()
def entries(self):
for i in range(5):
number1 = tk.StringVar()
entry = tk.Entry(textvariable=number1)
entry.grid(row=3, column=i)
result = entry.get()
return result
def labels(self,):
for i in range(5):
label = tk.Label(self.parent, text=self.entries(), width=17, borderwidth=2, relief="groove")
label.grid(row=4, column=i)
if __name__ == "__main__":
root = tk.Tk()
root.geometry("1280x800")
MainApplication(root).grid()
root.mainloop()
我的代码的输出如下。显然,很多事情都是错误的,因为我没有得到五个输入框,并且它们不会自动更新到下面的标签。
我有两个问题:
- 如何修复我的代码以获得想要的输出
- 在我的 MainApplication 类中使用嵌套类而不是方法来构建 GUI 是否是一种更好的方法。