使用tkinter开发图形界面显示图片(Win10,Python)

liftword2周前 (02-16)技术文章8

Tkinter(也叫Tk接?)是Tk图形?户界??具包标准的Python接?。Tk是?个轻量级的跨平台图形?户界?(GUI)开发?具。

Tkinter是Python自带的官方标准库,安装Python之后直接导入就可以使用,我们常见的python IDLE就是使用TKinter实现的。

在Win10命令行窗口输入python、import tkinter、dir(tkinter)、help(tkinter),可获得tkinter的相关帮助信息。

help(tkinter)命令的执行结果,列出了模块帮助文档的链接:
https://docs.python.org/3.10/library/tkinter.html

实现打开并显示图片的源代码如下:


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

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

Tkinter(也叫Tk接?)是Tk图形?户界??具包标准的Python接?。Tk是?个轻量级的跨平台图形?户界?(GUI)开发?具。

Tkinter是Python自带的官方标准库,安装Python之后直接导入就可以使用,我们常见的python IDLE就是使用TKinter实现的。

在Win10命令行窗口输入python、import tkinter、dir(tkinter)、help(tkinter),可获得tkinter的相关帮助信息。

help(tkinter)命令的执行结果,列出了模块帮助文档的链接:
https://docs.python.org/3.10/library/tkinter.html

实现打开并显示图片的源代码如下:

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)
https://blog.csdn.net/xyzhan/article/details/113856833
(2021年开发Python图形用户界面(GUI)的6种最佳Python GUI框架)

(2)
https://wenku.baidu.com/view/8f03733bf9d6195f312b3169a45177232e60e44d.html
(推荐8款常?的PythonGUI图形界?开发框架)

(3)https://github.com/honghaier-game/TKinterDesigner (honghaier-game/TKinterDesigner

(4)
https://blog.csdn.net/HG0724/article/details/112248635
(Python之Tkinter进行GUI开发)

(5)
https://blog.csdn.net/wj0807/article/details/120890111
在tkinter中显示图片和图片名

(6)
https://www.cnpython.com/qa/58793
(如何在gui中使用tkinter显示图像)

(7)
https://m.php.cn/article/419452.html
(python idle是什么)

(8)https://docs.python.org/3.10/library/tkinter.html (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)
https://www.cnpython.com/qa/308976
(用滚动条在Tkinter中显示多个图像)

相关文章

十个顶级Python 图形界面(GUI)框架供你选择

你知道嘛由于Python越来越受欢迎,并得到广泛采用,它将成为2020年流行起来的编程语言。在牢固掌握Python编程基础之后,初学者面临的下一个挑战是构建用户界面。幸运的是,有很多Python框架专...

python做界面,为什么我会强烈推荐nicegui

前言在网上搜索 "python 做界面" ,得到的结果无非是 Tkinter 、 wxWidgets 、 Qt 、 Gtk 。它们要不然就是打包后太大,要不就是界面丑,要不就是代码繁琐。这些都是 GU...

Python GUI教程(十):创建一个复杂的GUI

本篇将会涉及: 构建一个更加复制的GUI在选项卡部件中应用多个层级添加一个树部件和一个日历部件使用一个刻度盘部件来控制一个LCD显示器部件上的数字连接刻度盘部件和LCD部件到一个单选按钮上使用一个单选...

八款常用的 Python GUI 开发框架推荐

前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。作者: 乔柯PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获...

Python大佬手把手教你用wxPython模块编写界面程序

wxPython是一个开发桌面端图形界面的跨平台函数库,开发语言为Python,它是基于C++的函数库wxWidgets的封装。私信小编01即可获取Python学习资料wxpython有大量组件,它们...

如何使用Python构建简单的UI?_python如何做ui

全文共3154字,预计学习时长8分钟借助Streamlit框架,使用用户界面展示Python项目变得前所未有的简单,你可以仅仅使用Python代码来构建基于浏览器的UI。本次演示将为迷宫求解器程序构建...