0
url=StringVar()
txt1=Entry(root,textvariable=url)
txt1.pack()

button1 = Button(root, text="Download" ,command=downloadFile)
button1.pack()
root.mainloop()

わかりました、これは私の基本的なGUIです...以下の関数で使用したいテキストボックスtxt1があります

def downloadFile():
    #print "url is:",url
    file_name = url.split('/')[-1]

私の目的は、テキスト ボックスに URL をフィードしてから、関数 downloadfile() で URL を分割することですが、私の URL 変数は "www.example.com/file.exe" ではなく PY_VAR0 になります。

エラーメッセージは「StringVarインスタンスに属性分割がありません」です。非常に間違ったことをしていますが、どこにあるのかわかりません。誰でも助けてもらえますか?

4

1 に答える 1

2

StringVar は単なる「文字列変数の値ホルダー」です。そのコンテンツ (文字列) を取得するには、次を使用します。

StringVar.get() # Return value of variable as string.

StringVar を直接印刷 ("print url") すると、以下が呼び出されます。

StringVar.__str__() # Return the name of the variable in Tcl.

その値ではなく、内部変数名を返します。コードで次を使用します。

file_name = url.get().split('/')[-1]
于 2012-10-23T05:05:18.173 に答える