同じウィンドウでさらにディレクトリを選択したいと思います。ディレクトリの選択のために私はクラスSelectDir
を準備しました。私がクラスGui
から呼び出すこのオブジェクト(SelectDir
。OpenDirWnd()
を使って)。今度はクラスからtk.Entry
のディレクトリ名をGui
に取得できません。他のクラスのtkinterボタンコマンドを使用
import tkinter as tk
from tkinter.filedialog import askdirectory
class SelectDir():
def __init__(self,master, title,dirInit):
self.dir_opt = options = {}
self.dirInit = dirInit
options['parent'] = master
options['title'] = title
options['initialdir'] = self.dirInit
self.master = master
self.dirSelect = tk.StringVar()
self.dirSelect.set(self.dirInit)
def OpenDirWnd(self):
self.master.grab_set()
self.dirSelect = askdirectory(**self.dir_opt)
if self.dirSelect == "":
self.dirSelect.set(self.dirInit)
def NameSelectDir(self):
return self.dirSelect
class Gui(tk.Frame):
def __init__(self,master):
tk.Frame.__init__(self, master)
frMaster = tk.Frame(master)
seldir = SelectDir(master, " Select directory",
"D:\\MyPgm\\Python\\Tiles_8")
button = tk.Button(frMaster,text=">>>",command = seldir.OpenDirWnd)
frMaster.place(relx=0.04, rely=0.35)
button.grid(column = 0, row=0)
self.actDir = tk.StringVar()
self.actDir.set("D:\\MyPgm\\Python\\Tiles_8")
entry= tk.Entry(frMaster,textvariable = self.actDir,width = 30)
entry.grid(column = 0, row=1)
wndRoot = tk.Tk()
appapp = Gui(master=wndRoot)
appapp.mainloop()
あなたはGui' 'で関数を作成してに割り当てる必要がありますこの関数は 'SelectDir'を使用し、後で' SelectDir'から情報を取得し、 'Entry'に入れます。 – furas