Python使用tkinter加载png、jpg等图片

首先PhotoImage注意这里只支持gif格式的图片

photo = PhotoImage(file="D:/python/images/02.gif")

发现tkinter是只支持gif的格式,如果要加载png或者jpg的话就要使用PIL模块

from tkinter import *
from PIL import Image, ImageTk

root = Tk()
root.title('测试组python毕业题')

img = Image.open('ques.png')  # 打开图片
photo = ImageTk.PhotoImage(img)  # 用PIL模块的PhotoImage打开
imglabel = Label(root, image=photo)
imglabel.grid(row=0, column=0, columnspan=3)

Label(root, text="Answer:").grid(row=1, column=0, sticky=S + N)

answerEntry = Entry(root)
btn = Button(root, text="Submit", command='submit')

answerEntry.grid(row=1, column=1)
btn.grid(row=1, column=2)

mainloop()

但运行时会报

ModuleNotFoundError: No module named 'PIL'

运行命令:

pip install pillow

D:\Program Files\Python37>pip install pillow
Collecting pillow
  Downloading https://files.pythonhosted.org/packages/40/f2/a424d4d5dd6aa8c26636969decbb3da1c01286d344e71429b1d648bccb64/Pillow-6.0.0-cp37-cp37m-win_amd64.whl (2.0MB)
     |████████████████████████████████| 2.0MB 133kB/s
Installing collected packages: pillow
Successfully installed pillow-6.0.0

D:\Program Files\Python37>

如果运行该命令 显示

Requirement already satisfied: Pillow in c:\program files (x86)\python\lib\site-packages (3.4.2)

则表示已经安装过了

如果已安装则先卸载以获取最新的pillow
运行命令: pip uninstall pillow
然后运行:pip install pillow
就可以了

补充:解决python tkinter 展示jpg、png格式图片的问题

报错:

from tkinter import *

img = PhotoImage(file = r'D:\test\hero\暗黑元首\暗黑元首.jpg')
lable_show = Label(frame_show,imag = img)

解决:首先安装PIL库,使用pip命令

pip install pillow

然后使用PIL库获得ImageTk.PhotoImage对象代替tk.PhotoImage对象即可

from PIL import Image,ImageTk

img = ImageTk.PhotoImage(Image.open(r'D:\test\hero\暗黑元首\暗黑元首.jpg'))
lable_show = Label(frame_show,imag = img)

到此这篇关于Python使用tkinter加载png、jpg等图片的文章就介绍到这了,更多相关tkinter加载png、jpg内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python tkinter实现图片标注功能(完整代码)

    .tkinter tkinter是Python下面向tk的图形界面接口库,可以方便地进行图形界面设计和交互操作编程.tkinter的优点是简单易用.与Python的结合度好.tkinter在Python 3.x下默认集成,不需要额外的安装操作:不足之处为缺少合适的可视化界面设计工具,需要通过代码来完成窗口设计和元素布局. Python tkinter实现图片标注代码,代码如下所述: #!/usr/bin/python # -*- coding: UTF-8 -*- import os impor

  • 详解python tkinter 图片插入问题

    通过tkinter.PhotoImage插入GIF, PGM/PPM格式的图片. import tkinter class Gui: def __init__(self): self.gui=tkinter.Tk() # create gui window self.gui.title("Image Display") # set the title of gui self.gui.geometry("800x600") # set the window size

  • python 实现在tkinter中动态显示label图片的方法

    在编程中我们往往会希望能够实现这样的操作:点击Button,选择了图片,然后在窗口中的Label处显示选到的图片.那么这时候就需要如下代码: from tkinter import * from tkinter.filedialog import askopenfilename def choosepic(): path_=askopenfilename() path.set(path_) img_gif=Tkinter.PhotoImage(file='xxx.gif') l1.config(

  • Python3.4 tkinter,PIL图片转换

    先给大家分享一下全部代码 import os from PIL import Image import tkinter import tkinter.filedialog import tkinter.messagebox class Window(): def __init__(self): self.root = root = tkinter.Tk() self.menu = tkinter.Menu(root) self.submenu = tkinter.Menu(self.menu,

  • python Tkinter的图片刷新实例

    调用python自带的GUI制作库 一开始想用Tkinter制作GUI的,网上说是python自带的,结果输入: import tkinter 后,显示: _ImportError: No module named tkinter_ 以为是没有安装,还利用apt-get install 命令安装了一堆东西,安装完了发现还是没有用.(⊙﹏⊙)b 后来看到如果是用的python2.7的话,需要输入 import Tkinter 然后就可以用了. 显示连续刷新的图片 开始用的TK的Label功能来显示

  • python tkinter GUI绘制,以及点击更新显示图片代码

    tkinter 绘制GUI简单明了,制作一些简单的GUI足够,目前遇到的一个问题是不能同时排列显示多幅图片(目前没找到同时显示解决方法), 退而求其次,改成增加一个update按钮,每次点下按钮自动更新图片,注释掉的部分是原来的内核包,替换成自己的程序即可 import tkinter as tk from tkinter import * from tkinter import ttk from urllib.request import urlopen from PIL import Ima

  • python3 tkinter实现添加图片和文本

    本文在前面文章基础上介绍tkinter添加图片和文本,在这之前,我们需要安装一个图片库,叫Pillow,这个需要下载exe文件,根据下面图片下载和安装. 下载完后直接双击安装exe,默认点击下一步,直到安装完成,会自动安装到Python3.6下的\lib\site-packages\PIL # tkinter实现菜单功能 from tkinter import * from PIL import Image, ImageTk class Window(Frame): def __init__(s

  • python利用tkinter实现图片格式转换的示例

    代码 import os from PIL import Image import tkinter import tkinter.filedialog import tkinter.messagebox class Window(): def __init__(self): self.root = root = tkinter.Tk() self.menu = tkinter.Menu(root) self.submenu = tkinter.Menu(self.menu, tearoff=0)

  • python tkinter canvas 显示图片的示例

    先来看一下该方法的说明 create_image(position, **options) [#] Draws an image on the canvas. position Image position, given as two coordinates. **options Image options. activeimage= anchor= Where to place the image relative to the given position. Default is CENTE

  • Python使用tkinter加载png、jpg等图片

    首先PhotoImage注意这里只支持gif格式的图片 photo = PhotoImage(file="D:/python/images/02.gif") 发现tkinter是只支持gif的格式,如果要加载png或者jpg的话就要使用PIL模块 from tkinter import * from PIL import Image, ImageTk root = Tk() root.title('测试组python毕业题') img = Image.open('ques.png')

  • Python实现动态加载模块、类、函数的方法分析

    本文实例讲述了Python实现动态加载模块.类.函数的方法.分享给大家供大家参考,具体如下: 动态加载模块: 方式1:系统函数__import__() 方式2:imp, importlib 模块 方式3:exec 函数 动态加载类和函数 首先,使用加载模块,使用内置函数提供的反射方法getattr(),依次按照层级获取模块->类\全局方法->类对象\类方法. test_import_module.py class ClassA: def test(self): print('test') in

  • Python pycharm 同时加载多个项目的方法

    在pycharm中只能一个项目存在,想打开另一个项目只能建一个新窗口或者把当前窗口覆盖掉. 在pycharm中其实可以同时打开多个项目: 1.file->setting->project 2.选择project structure,在窗口右侧的add content root 中添加要显示的项目 以上这篇Python pycharm 同时加载多个项目的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 解决Python 使用h5py加载文件,看不到keys()的问题

    python 3.x 环境下,使用h5py加载HDF5文件,查看keys,如下: >>> import h5py >>> f = h5py.File("a.h5",'r') >>> f.keys() 结果看不到keys: KeysView(<HDF5 file "a.h5" (mode r)>) 原因主要是 python2.x 和 python3.x对keys方法的返回处理不同. 官方说明如下: Wh

  • Python 词典(Dict) 加载与保存示例

    Dict的加载: import json def load_dict(filename): '''load dict from json file''' with open(filename,"r") as json_file: dic = json.load(json_file) return dic Dict的保存: import json import datetime import numpy as np class JsonEncoder(json.JSONEncoder):

  • Python selenium页面加载慢超时的解决方案

    开发环境: win10-64  python2.7.16  chrome77 from selenium import webdriver driver = webdriver.Chrome(executable_path='chromedriver.exe') driver.get('http://全部加载完成超级慢的网站') user = 'abc' pwd = '123 driver.find_element_by_id('email').send_keys(user) driver.fi

  • Python自动重新加载模块详解(autoreload module)

    守护进程模式 使用python开发后台服务程序的时候,每次修改代码之后都需要重启服务才能生效比较麻烦. 看了一下Python开源的Web框架(Django.Flask等)都有自己的自动加载模块功能(autoreload.py),都是通过subprocess模式创建子进程,主进程作为守护进程,子进程中一个线程负责检测文件是否发生变化,如果发生变化则退出,主进程检查子进程的退出码(exist code)如果与约定的退出码一致,则重新启动一个子进程继续工作. 自动重新加载模块代码如下: autorel

  • Python如何重新加载模块

    问题 你想重新加载已经加载的模块,因为你对其源码进行了修改. 解决方案 使用imp.reload()来重新加载先前加载的模块.举个例子: >>> import spam >>> import imp >>> imp.reload(spam) <module 'spam' from './spam.py'> >>> 讨论 重新加载模块在开发和调试过程中常常很有用.但在生产环境中的代码使用会不安全,因为它并不总是像您期望的那样

  • 利用python进行数据加载

    前言 最近参加了datawhale的组队学习活动,在组队学习动员下,开始通过强迫自己输出来实现更好的输入与处理,6-15开始自己的第一次文章发布,我会把自己这个真的很小白遇到的问题写出来,希望能给屏幕前小白的你带来帮助. 工作中大量繁琐的自动化,把以前在学校摸过的python重新捡起来,不成体系的.拼图一样把需要的工作搭建起来,工作暂时是可用上了,每天节省了至少3个小时的数据处理工作,手里拿着python这个锤子,看什么都像钉子. 首先,你要先学会安装软件,anaconda软件,安装成功后,你点

  • python selenium禁止加载某些请求的实现

    目录 问题描述 解决方案 参考 问题描述 通过selenium请求目标网站时候, 真实数据(我这里是验证码图片)已经加载出来, 由于网站做了第三方上报所以得等待很久, 但是上报这个请求不是必须的. 例如 验证码已经加载完成, 但是huatuo.qq.com响应时间过长 , webdriver.get()的机制是等待请求的url响应全部完成才进行下一步. 显示等待和隐式等待的作用是每隔多少秒来检测一下这个地址是否加载完成, 所以此处不生效. 那我要做的是: 当请求目标url时候, 希望webdri

随机推荐