Tkinter(也叫Tk接⼝)是Tk图形⽤户界⾯⼯具包标准的Python接⼝。Tk是⼀个轻量级的跨平台图形⽤户界⾯(GUI)开发⼯具。
Tkinter是Python自带的官方标准库,安装Python之后直接导入就可以使用,我们常见的python IDLE就是使用TKinter实现的。
在Win10命令行窗口输入python、import tkinter、dir(tkinter)、help(tkinter),可获得tkinter的相关帮助信息。
help(tkinter)命令的执行结果,列出了模块帮助文档的链接: tkinter — Python interface to Tcl/Tk — Python 3.10.4 documentation
实现打开并显示图片的源代码如下:
import tkinter as tk
import tkinter.filedialog
from PIL import Image,ImageTk
#选择并显示图片
def choosepic():
path_ = tkinter.filedialog.askopenfilename()
path.set(path_)
print(path)
img_open = Image.open(entry.get())
#img = ImageTk.PhotoImage(img_open.resize((200,200)))
img = ImageTk.PhotoImage(img_open)
lableShowImage.config(image=img)
lableShowImage.image = img
if __name__ == '__main__':
#生成tk界面 app即主窗口
app = tk.Tk()
#修改窗口titile
app.title("显示图片")
#设置主窗口的大小和位置
app.geometry("800x400+200+200")
#Entry widget which allows displaying simple text.
path = tk.StringVar()
entry = tk.Entry(app, state='readonly', text=path,width = 100)
entry.pack()
#使用Label显示图片
lableShowImage = tk.Label(app)
lableShowImage.pack()
#选择图片的按钮
buttonSelImage = tk.Button(app, text='选择图片', command=choosepic)
buttonSelImage.pack()
#buttonSelImage.pack(side=tk.BOTTOM)
#Call the mainloop of Tk.
app.mainloop()
假设将源代码保存在文件“d:\temp\MyShowImage.py”。在命令行执行命令
python d:\temp\MyShowImage.py
程序运行,界面如下图所示
点击“选择图片”按钮,弹出打开文件对话框,
选择要打开的图片文件,点击“打开”按钮,图片就会显示在图形界面上了,如下图所示:
上述代码实现了图片的选择和显示功能,但也有不足之处,比如“没有滚动条,无法完全显示比屏幕大的图片”。