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

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

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

 

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

 

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

相关参考网页

  1. 2021年开发Python图形用户界面(GUI)的6种最佳Python GUI框架_xyzhan的博客-CSDN博客_pythongui (2021年开发Python图形用户界面(GUI)的6种最佳Python GUI框架)
  2. 推荐8款常用的PythonGUI图形界面开发框架 - 百度文库 (推荐8款常⽤的PythonGUI图形界⾯开发框架)
  3. https://github.com/honghaier-game/TKinterDesigner (honghaier-game/TKinterDesigner
  4. Python之Tkinter进行GUI开发_胜天半月子的博客-CSDN博客 (Python之Tkinter进行GUI开发)
  5. 在tkinter中显示图片和图片名_勤勤恳恳的小码农的博客-CSDN博客_tkinter显示图片 (在tkinter中显示图片和图片名
  6. 如何在gui中使用tkinter显示图像 - 问答 - Python中文网 (如何在gui中使用tkinter显示图像)
  7. python idle是什么-Python教程-PHP中文网 (python idle是什么)
  8. tkinter — Python interface to Tcl/Tk — Python 3.10.4 documentation (tkinter — Python interface to Tcl/Tk)
  9. https://blog.csdn.net/tyler880/article/details/106862322?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-106862322-blog-112248635.pc_relevant_aa&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-106862322-blog-112248635.pc_relevant_aa&utm_relevant_index=2  (python GUI编程(Tkinter)
  10. 用滚动条在Tkinter中显示多个图像 - 问答 - Python中文网  (用滚动条在Tkinter中显示多个图像)

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐