簡體   English   中英

Python:Tkinter中的按鈕小部件

[英]Python: Button widget in Tkinter

我剛剛開始使用Tkinter在Python 2.7中進行GUI編程。

我想要一個瀏覽按鈕,單擊該按鈕將打開Windows File Explorer,並將所選文件的路徑返回到變量。 我希望以后再使用該路徑。

我正在遵循此處給出的代碼。 它輸出一個顯示5個按鈕的窗口,但是這些按鈕什么也不做。 單擊第一個按鈕時,它不會打開所選文件。

同樣,在單擊第二個按鈕時,將askopenfilename(self)函數,並且該函數應返回文件名。 就像我提到的那樣,以后我需要該文件名。

如何將函數返回的值轉換為某些變量以備將來使用?

在按鈕的回調中使用return毫無意義。 它不會返回任何地方。 進行回調保存數據的方法是將其存儲在全局變量中,如果使用類,則將其存儲在實例變量中。

def fetchpath():
    global filename
    filename = tkFileDialog.askopenfilename(initialdir = 'E:')

FWIW(與問題無關):您犯了一個非常常見的錯誤。 在python中,當您執行foo=bar().baz()foo將使用baz()的值。 因此,當您這樣做時:

button = Button(...).pack()

button將使用pack()的值,該值始終返回None 如果希望保存對正在創建的小部件的實際引用,則應將小部件的創建與小部件的布局分開。 即使您不是,將兩者分開也是一個好習慣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM