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

程序运行,界面如下图所示

PYTHON的图形界面PYQT5 python图形界面tkinter_Python

点击“选择图片”按钮,弹出打开文件对话框,

PYTHON的图形界面PYQT5 python图形界面tkinter_Win10_02

 

选择要打开的图片文件,点击“打开”按钮,图片就会显示在图形界面上了,如下图所示:

PYTHON的图形界面PYQT5 python图形界面tkinter_python_03

 

上述代码实现了图片的选择和显示功能,但也有不足之处,比如“没有滚动条,无法完全显示比屏幕大的图片”。

相关参考网页

  1. 推荐8款常用的PythonGUI图形界面开发框架 - 百度文库 (推荐8款常⽤的PythonGUI图形界⾯开发框架)
  2. https://github.com/honghaier-game/TKinterDesigner (honghaier-game/TKinterDesigner)
  3. 如何在gui中使用tkinter显示图像 - 问答 - Python中文网 (如何在gui中使用tkinter显示图像)
  4. python idle是什么-Python教程-PHP中文网 (python idle是什么)
  5. tkinter — Python interface to Tcl/Tk — Python 3.10.4 documentation (tkinter — Python interface to Tcl/Tk)
  6.  (python GUI编程(Tkinter))
  7. 用滚动条在Tkinter中显示多个图像 - 问答 - Python中文网  (用滚动条在Tkinter中显示多个图像)