私は Tkinter をいじっていますが、次々と入力を求めている間に機能します。「askopenfilename」のように。しかし、多くのポップアップを取得するのはそれほど快適ではありません. 一度にすべての入力を取得するフレームを 1 つだけ作成したいと思います。
そして、これまでのところ、FileNameまたはDirectoryを尋ねるボタン付きのフレーム(いくつかのチュートリアルから)だけが見つかりましたが、ユーザーの選択を読み取ることができません。
import Tkinter, Tkconstants, tkFileDialog
class TkFileDialogExample(Tkinter.Frame):
def __init__(self, root):
Tkinter.Frame.__init__(self, root)
# define buttons
Tkinter.Button(self, text='askopenfilename', command=self.askopenfilename).pack()
Tkinter.Button(self, text='askdirectory', command=self.askdirectory).pack()
def askopenfilename(self):
return tkFileDialog.askopenfilename()
def askdirectory(self):
return tkFileDialog.askdirectory()
if __name__=='__main__':
root = Tkinter.Tk()
TkFileDialogExample(root).pack()
root.mainloop()
そして、それは私が大丈夫なフレームを構築するだけですが、ノンストップでループし、ユーザーが選択したものを取得できません。ボタンの関数(リターンであるため)に付属する値を簡単に取得できるのではないかと思いましたか?
ここで提案されているように、関数の値を格納するために空のリスト、配列、ディックを作成する必要がありますか: Returning a value after calling a function with a button in Tkinter、まだ試していません...
または、「ボタンから」読み取るだけの他の方法はありますか?