范例 - 点击按钮开文件
这篇教学介绍使用 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()
微信扫码关注
抖音扫码关注