Image 1有两个按钮,一个将选择一个文件,一个将选择一个目录,并将更新tkinter中的相应条目。但如果有人被选中,它会更新其他条目。在附带的屏幕截图中,我只是通过单击浏览按钮选择了文件,但它更新了两个条目。下面是代码。请帮忙。主要是尝试选择一个文件夹并选择一个Excel文件并验证该表是否存在。所以这部分工作正常。唯一的问题是更新条目。
class StartPage(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.filedir = tk.Entry(self, text=" ")
self.filedir.grid(row=1,column=0)
self.load_button = tk.Button(self, text="Browse...", command=self.loadFile)
self.load_button.grid(row=1,column=1)
self.projectdir = tk.Entry(self, text=" ")
self.projectdir.grid(row=3,column=0)
self.choose_dir = tk.Button(self, text="Select Folder", command=self.chooseDir)
self.choose_dir.grid(row=3,column=1)
self.submit_button = tk.Button(self, text="Submit", command=self.submit)
self.submit_button.grid(row=4,columnspan=3)
def chooseDir(self):
dirName = askdirectory(title='Please select a directory')
self.projectdir.delete(0, "end")
self.projectdir.insert(0, dirName)
def loadFile(self):
filename = askopenfilename(filetypes=(("info", "*.xlsx"), ("all file", "*.*")))
extension = filename[filename.rfind('.'):]
if extension == '.ods':
messagebox.showerror("Error", "Error message")
else:
vVerify = self.verifyExcel(filename)
if vVerify == 1:
self.verify_button = tk.Button(self, text="Verified")
self.verify_button.grid(row=1,column=2)
self.filedir.delete(0, "end")
self.filedir.insert(0, filename)
else:
messagebox.showerror("Error", "Error message 1")
app = SeaofBTCapp()
app.mainloop()
只需从text=" "
小部件中删除entry
,以避免创建常见的textvariable " "
。
class StartPage(tk.Frame):
def __init__(self, parent, controller):
self.filedir = tk.Entry(self)
self.projectdir = tk.Entry(self)
...