私のtkinterリストボックスに文字列を挿入することはできません。私のコードは次のとおりです。私はこのコードのスニペットを実行するとpython tkinter listbox - エラーを挿入する
from Tkinter import *
from tkFileDialog import askopenfilenames
def ImportFiles():
Tk().withdraw()
filenames = askopenfilenames()
for f in filenames:
listbox1.insert(END, f)
return
root = Tk()
root.geometry("500x800")
listbox1 = Listbox(root).grid(row=1, sticky=W, padx=20, pady=20)
button1 = Button(root, text='Import', command=ImportFiles).grid(row=2, sticky=W, padx=20)
root.mainloop()
はGUIが罰金をポップアップします。私は、ボタンを押して、開いているファイルのダイアログが表示されます。次に、いくつかのファイルを選択し、「OK」を押すとコードが爆発します。私は次のエラーを取得する:
ファイル "C:\ Python27 \ libに\ libに-TKの\のTkinter.py" コール
リターンself.func(*引数)
で、ライン1536、 ImportFilesでファイル ".../pyGUI_01.py"、10行目、
listbox1.insert(END、F)
はAttributeError: 'NoneType' オブジェクトには、属性 '挿入'
を持っていません私は分かりません。オブジェクト 'listbox1'をTKリストボックスに設定しました。私のIDEには、 'insert'コマンドが有効でないという指示はありません(PyCharm)。私は間違って何をしていますか?
まず、調査した場合、問題を解決する多くの質問があります。自分で問題を解決するために行ったことを私たちに教えてください。 [Ask](https://stackoverflow.com/help/how-to-ask)セクションをよく読んでください。 –
第二に、 'filenames = askopenfilenames()':この1行のコードは、あなたが選択したファイルから値を取得しません。 –
@Parviz。 filenames = askopenfilenames()はファイル名を取得します。私はそれらを見るために 'print'ステートメントを使いました。文字列のタプルを生成します。これをあなた自身の前で使ってみましたか? – twegner