[英]I want to open a file dialogue and pass the location of selected file as argument to tkinter to show on gui?
[英]Is there any way to show the file browser INSIDE a tkinter window rather than an open file dialogue?
我正在嘗試在 Tkinter 中創建一個程序,該程序在 window 的左側有一個文件瀏覽器/資源管理器,右側有一個顯示文件內容的部分。 我只能找到打開單獨文件對話框 window 並希望在主 window 中實際顯示文件資源管理器的解決方案。 不太確定如何 go 關於這個所以任何幫助將不勝感激。 干杯!
我的理解是,用於導航目錄的標准 Tkinter function 使用操作系統的文件資源管理器系統來執行此操作,因此(據我所知)沒有簡單的方法可以簡單地將其嵌入到您的應用程序中。 如果您需要這樣的東西,您將需要構建自己的文件導航軟件,或者找到可以為您完成的第三方 package。
要自己實現它,您可以使用 os 模塊來確定用戶系統上目錄的內容。 具體情況取決於您的要求,但例如,如果您只需要訪問運行腳本的文件夾:
import os
script_directory = os.path.dirname(os.path.abspath(__file__))
# Now, let's build our file/folder list
dir_contents = []
for subdir, dirs, files in os.walk(script_directory):
dir_contents = [subdir, dirs, files]
break
在這里,代碼將遍歷目錄script_directory
和所有文件夾。 由於在此示例中我們只對script_directory
本身感興趣,因此我們在單次迭代后使用break
來停止。
subdir
將是os.walk
每次迭代的子目錄名稱。 dirs
將是subdir
中所有文件夾的列表。 files
將是subdir
中所有文件的列表。
然后,您將需要實現按鈕和其他小部件來顯示結果並允許導航和文件操作,這可能需要對os
模塊進行其他調用以建立用戶導航到的目錄的內容。 如果您需要訪問多個目錄位置,我建議實施 class 來處理此問題,而不是嘗試將其全部填充到深度嵌套的列表中。
當然,這是一項艱巨的工作,所以我只會在對項目絕對必要的情況下推薦它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.