Есть две основные проблемы, мешающие этому работать.Первый в функциях getinputdir
и getoutputdir
.Вы должны убедиться, что ссылки на T_in
и T_out
доступны.Вы можете сделать это, сохранив их в объекте App.
Вторая основная проблема - .text
- недопустимый метод.Вы можете использовать .delete
, чтобы очистить его, затем .insert
, чтобы вставить новый каталог.
from tkinter import *
from tkinter import filedialog
import tkinter as tk
class App:
def __init__(self, master):
frame = Frame(master)
frame.pack()
self.button = Button(frame, text="QUIT", fg="red", command=frame.quit)
self.button.pack(side=LEFT)
self.T_out= tk.Text(root, height=1, width=50)
self.T_out.pack(side=TOP)
self.hi_there= Button(frame, text="Browse", command=self.getoutputdir)
self.hi_there.pack(side=LEFT)
self.T_in = tk.Text(root, height=1, width=50)
self.T_in.pack(side=LEFT)
self.input_1= Button(frame, text="Browse", command=self.getinputdir)
self.input_1.pack(side=LEFT)
def getoutputdir(self):
global outputdir
outputdir = filedialog.askdirectory(parent=root,initialdir="/",title='Please select the output directory')
self.T_out.delete(1.0, tk.END)
self.T_out.insert(tk.END, outputdir)
def getinputdir(self):
global inputdir
inputdir = filedialog.askdirectory(parent=root,initialdir="/",title='Please select the input directory')
self.T_in.delete(1.0, tk.END)
self.T_in.insert(tk.END, inputdir)
root = Tk()
root.title('GUI for CZI')
app = App(root)
root.mainloop()