详解python tkinter图片插入问题

  

通过tkinter。PhotoImage插入GIF, PGM/PPM格式的图片。
  

        进口tkinter      Gui类:   def __init__(自我):   self.gui=tkinter.Tk() #创建gui窗口   self.gui。标题(“图像显示”)#设置标题的gui   self.gui.geometry (“800 x600”) #设置窗口大小的gui      img=tkinter.PhotoImage(文件=" C:/用户/15025/桌面/bear.gif”) #从路径读取图像      label1=tkinter.Label (self.gui、图像=img) #创建一个标签插入图片   label1.grid() #在主窗口中设置标签      #开始mainloop self.gui.mainloop ()      主要=Gui ()      

注意:img=tkinter.PhotoImage(文件=" C:/用户/15025/桌面/bear.gif”)中的关键字文件不能够省略,否则程序无法正常显示图片。
  

  

对于常用的PNG,与JPG格式的图片,我们需要从python图像库(枕头)(公益诉讼)导入图像与ImageTk模块来实现,代码如下:
  

        进口tkinter   从公益诉讼导入图像   从公益诉讼进口ImageTk         Gui类:   def __init__(自我):   self.gui=tkinter.Tk() #创建gui窗口   self.gui。标题(“图像显示”)#设置标题的gui   self.gui.geometry (“800 x600”) #设置窗口大小的gui      用户负荷=Image.open (“C://15025/桌面/1. png) #打开图片路径   img=ImageTk.PhotoImage(负载)#阅读打开图像      label1=tkinter.Label (self.gui、图像=img) #创建一个标签插入图片   label1.grid() #在主窗口中设置标签      #开始mainloop self.gui.mainloop ()      主要=Gui ()      

然而在实际操作中,本人使用的是蟒蛇世爵编译器,当我们在读入图像时程序出错后,再次运行程序就会导致形象“pyimage1”不存在错误,每次运行一次,数字就会增加1,如:图像“pyimage2”不存在。遇到此错误,可以直接在IPython控制台界面重启IPython内核即可,或者关闭编译器并重新打开。
  

  

看似我们已经完全实现了图片的插入,但是这种插入方法是存在隐患的,具体代码如下:
  

        进口tkinter像tk   从公益诉讼导入图像   从公益诉讼进口ImageTk         类Gui (tk.Tk):   def __init__(自我):   super () . __init__ ()   自我。标题(“图动态显示v1.01”)   # self.geometry (1000 x800 + 400 + 100)   self.mainGui ()   # self.mainloop ()         def mainGui(自我):   形象=Image.open (“C:/用户/15025/桌面/1. png”)   照片=ImageTk.PhotoImage(图片)   标签=tk。标签(自我形象=图)   标签。形象=#照片图像是回收   label.grid ()         主要=Gui ()   main.mainloop ()      

这里我们可以看到相比较上面的程序,我们将Gui界面的图像插入部分分离到另一个函数中,并且直接定义一个tkinter的类,这样做的好处是我们可以直接用自我替代创建的主窗口界面,并且我们可以在不同的地方启动主循环,self.mainloop()和main.mainloop()任选一个即可。并且因为我们想要插入图片,所以我们可以省略指定Gui界面的尺寸,这样做的好处是会创建一个自适应图片大小的Gui界面。最重要的是我们可以看到多了一行代码标签。形象=照片,我们将选取的图片照片赋值给了标签的属性对象形象,如果没有这一行代码,图片便无法正常显示,这是因为python会自动回收不使用的对象,所以我们需要使用属性对象进行声明,上述的程序隐患便是因为缺少了这一行代码。
  

  

至此,tkinter的图片插入可暂时告一段落。

  

到此这篇关于详解python tkinter图片插入问题的文章就介绍到这了,更多相关python tkinter图片插入内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

详解python tkinter图片插入问题