-2

askopenfilename() の使用に関する多くの投稿を見てきましたが、そのファイルを選択した後、エントリ ボックスに完全なファイル パスを表示するのに役立つものがまだ見つからないようです。以下に、私が中断したところを含めました。

from tkinter import *
from tkinter.filedialog import askopenfilename

global a

def browse():
    a = askopenfilename(title='select new file')

root = Tk()

a = StringVar()

l = Label(root, text="new file: ")
l.pack()

e = Entry(root, width=25, textvariable=a)
e.pack()

b = Button(root, text="Browse", command=browse)
b.pack()


root.mainloop()
4

1 に答える 1

1

関数内でbrowseは、ローカル変数 a には実際にファイルへのフルパスが含まれています。問題は、StringVar の.set()メソッドを呼び出す必要があることです。StringVar にバインドした変数に割り当てることはできません。に置き換えるa = askopenfilename(title='select new file')a.set(askopenfilename(title='select new file'))、インターフェイスの StringVar にファイル名が表示されます。

あなたのプログラムは GUI インターフェース タスクに対して十分に構造化されていないことに注意してください。

于 2014-02-27T23:52:27.310 に答える