#実現したいこと
以下の
command= lambda: open_folder(inifile,_folder))
で、呼び出した関数の先で_folderに値を入れているのですが、帰ってきたときには値が書き換わっています。
スコープ?の問題だというのはわかったのですが、では、どのようにすればcommandで関数を実行して、そこでの処理結果を得ることができるのでしょうか?
よろしければご教授願います。
python
1#メニューに親メニュー(ファイル)を作成する 2menu_file = tkinter.Menu(root,tearoff=0) 3men.add_cascade(label='設定', menu=menu_file) 4 5#親メニューに子メニュー(処理対象のフォルダを選択する)を追加する 6menu_file.add_command(label='処理対象のフォルダを選択する', command= lambda: open_folder(inifile,_folder))
以上、よろしくお願いいたします。
##追記1
python
1# 設定-フォルダ選択 2def open_folder(inifile,_folder): 3 if(inifile != ""): 4 try: 5 _folder = inifile.get("setting","targetdirectory") 6 except: 7 if(_folder == ""): 8 _folder = "C://" 9 _folder = filedialog.askdirectory(initialdir = _folder) 10 return _folder
回答1件
あなたの回答
tips
プレビュー