Python 写入一个输入字段最终会写入所有实例
我预见到会有重复的代码,所以我尝试将其稍微模块化。Python 写入一个输入字段最终会写入所有实例,python,user-interface,tkinter,tkinter-entry,Python,User Interface,Tkinter,Tkinter Entry,我预见到会有重复的代码,所以我尝试将其稍微模块化。 这将是行中的输入/输入、提交/按钮、清除/按钮和下面的显示/文本 这是我目前的代码: import tkinter as tk from pprint import pprint class MainApp(tk.Frame): def __init__(self, master): super().__init__(master) self.frame = AddConsole(self)
这将是行中的输入/输入、提交/按钮、清除/按钮和下面的显示/文本 这是我目前的代码:
import tkinter as tk
from pprint import pprint
class MainApp(tk.Frame):
def __init__(self, master):
super().__init__(master)
self.frame = AddConsole(self)
self.frame.grid(row=0, column=1, sticky="nsew")
self.frame2 = AddConsole(self)
self.frame2.grid(row=0, column=2, sticky="nsew")
self.frame3 = AddConsole(self)
self.frame3.grid(row=0, column=3, sticky="nsew")
class AddConsole(tk.Frame):
def __init__(self, master):
super().__init__(master)
self.top_frame = tk.Frame(self)
self.bottomframe = tk.Frame(self)
self.top_frame.pack()
self.bottomframe.pack( side = 'bottom' )
self.stuff_entry = tk.Entry(self.top_frame, text="Red", fg="blue")
self.stuff_entry.pack(side = 'left')
self.submit_button = tk.Button(self.top_frame, text="Submit", fg="green", command=self.submit)
self.submit_button.pack(side = 'left' )
self.clear_button = tk.Button(self.top_frame, text="Clear", fg="blue", command=self.clear)
self.clear_button.pack(side = 'left' )
self.added_stuff = tk.Text(self.bottomframe, fg="black")
self.added_stuff.pack(side = 'bottom')
def submit(self):
self.added_stuff.insert("0.0",self.stuff_entry.get())
self.stuff_entry.delete(0, tk.END)
def clear(self):
self.added_stuff.delete("1.0", tk.END)
if __name__ == "__main__":
root = tk.Tk()
mainAppObject = MainApp(root)
mainAppObject.pack()
root.mainloop()
我可以在下面的字段中输入字符串数据并将其清除,但在键入时和单击之前,提交文本显示为同时在所有三个输入字段中键入,而不是仅在选定的字段中键入
我的代码有什么问题,如何修复
谢谢一个
条目
没有text=
选项,就像您试图在这里设置为“红色”一样。我猜这被解释为textvariable=
选项的缩写:您是说所有三个条目都应该将其内容存储在名为Red
的Tcl变量中,因此它们都必须显示相同的内容。是的,就是这样。我复制并修改了另一个小部件的一行,它有文本字段,只是让它认为它不会做太多。谢谢