點擊按鈕開啟檔案
這篇教學介紹使用 tkinter 的 Button 按鈕,設計一個點擊按鈕時就開啟檔案的動作,並在開啟檔案後,將檔案的內容透過 Label 顯示在視窗中。
快速導覽:
因為 Google Colab 不支援 tkinter,所以請使用本機環境 ( 參考:使用 Python 虛擬環境 ) 或使用 Anaconda Jupyter 進行實作 ( 參考:使用 Anaconda )。
點擊按鈕,讀取檔案路徑
載入 tkinter 函式庫的 filedialog 模組,該模組可以在執行 filedialog.askopenfilename() 時,開啟「選擇檔案視窗」,選取檔案後,就會回傳該檔案在電腦中的絕對路徑與名稱,下方的程式碼在視窗裡放入一個按鈕,點擊按鈕時執行 show 函式,選擇檔案後印出檔案路徑與名稱。
import tkinter as tk
from tkinter import filedialog
root = tk.Tk()
root.title('oxxo.studio')
root.geometry('200x200')
def show():
file_path = filedialog.askopenfilename() # 選擇檔案後回傳檔案路徑與名稱
print(file_path) # 印出路徑
# Button 設定 command 參數,點擊按鈕時執行 show 函式
btn = tk.Button(root,
text='開啟檔案',
font=('Arial',20,'bold'),
command=show
)
btn.pack()
root.mainloop()
點擊按鈕,開啟並顯示檔案內容
參考「os 常用方法」文章,先將工作目錄移動到根目錄 ( 因為開啟的檔案路徑是以根目錄出發的絕對路徑 ),接著參考「內建函式 ( 檔案讀寫 open )」文章,根據路徑開啟檔案並讀取內容,接著再新增一個 Label 標籤,顯示讀取到的檔案內容 ( 範例圖片是開啟一個純文字文件 )。
import os
os.chdir('/') # 移動路徑到根目錄
import tkinter as tk
from tkinter import filedialog
root = tk.Tk()
root.title('oxxo.studio')
root.geometry('200x200')
text = tk.StringVar() # 設定 text 為文字變數
text.set('') # 設定 text 的內容
def show():
file_path = filedialog.askopenfilename()
f = open(file_path,'r') # 根據檔案路徑開啟檔案
a = f.read() # 讀取檔案內容
text.set(a) # 設定變數為檔案內容
f.close() # 關閉檔案
# Button 設定 command 參數
btn = tk.Button(root,
text='我是按鈕',
font=('Arial',20,'bold'),
command=show
)
btn.pack()
mylabel = tk.Label(root, textvariable=text, font=('Arial',20)) # 放入標籤,使用 textvariable=text
mylabel.pack()
root.mainloop()
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~