欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解python tkinter 圖片插入問題

 更新時(shí)間:2020年09月03日 11:19:10   作者:勤奮的小烏賊  
這篇文章主要介紹了詳解python tkinter 圖片插入問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

通過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 of gui 

    img = tkinter.PhotoImage(file="C:/Users/15025/Desktop/bear.gif")  # read image from path

    label1=tkinter.Label(self.gui,image=img)              # create a label to insert this image
    label1.grid()                            # set the label in the main window
 
    self.gui.mainloop()                         # start mainloop

main = Gui()

注意: img = tkinter.PhotoImage(file="C:/Users/15025/Desktop/bear.gif") 中的關(guān)鍵字file不能夠省略,否則程序無法正常顯示圖片。

對于常用的PNG,與JPG格式的圖片,我們需要從python image library(pillow)(PIL)導(dǎo)入Image與ImageTk模塊來實(shí)現(xiàn),代碼如下:

import tkinter
from PIL import Image
from PIL import ImageTk


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 of gui 

    load = Image.open("C:/Users/15025/Desktop/1.png")  # open image from path
    img = ImageTk.PhotoImage(load)           # read opened image

    label1=tkinter.Label(self.gui,image=img)      # create a label to insert this image
    label1.grid()                    # set the label in the main window
 
    self.gui.mainloop()                 # start mainloop

main = Gui()

然而在實(shí)際操作中,本人使用的是Anaconda spyder編譯器,當(dāng)我們在讀入圖像時(shí)程序出錯(cuò)后,再次運(yùn)行程序就會(huì)導(dǎo)致image "pyimage1" doesn't exist錯(cuò)誤,每次運(yùn)行一次,數(shù)字就會(huì)增加1,如:image "pyimage2" doesn't exist。遇到此錯(cuò)誤,可以直接在IPython控制臺界面重啟IPython內(nèi)核即可,或者關(guān)閉編譯器并重新打開。

看似我們已經(jīng)完全實(shí)現(xiàn)了圖片的插入,但是這種插入方法是存在隱患的,具體代碼如下:

import tkinter as tk
from PIL import Image
from PIL import ImageTk


class Gui(tk.Tk):
  def __init__(self):
    super().__init__()
    self.title("Figure dynamic show v1.01")
    # self.geometry("1000x800+400+100")
    self.mainGui()
    # self.mainloop()
    

  def mainGui(self):
    image = Image.open("C:/Users/15025/Desktop/1.png")
    photo = ImageTk.PhotoImage(image)
    label = tk.Label(self, image=photo)
    label.image = photo     # in case the image is recycled
    label.grid()
    

main = Gui()
main.mainloop()

這里我們可以看到相比較上面的程序,我們將Gui界面的圖像插入部分分離到另一個(gè)函數(shù)中,并且直接定義一個(gè)tkinter的類,這樣做的好處是我們可以直接用self替代創(chuàng)建的主窗口界面,并且我們可以在不同的地方啟動(dòng)主循環(huán),self.mainloop()和main.mainloop()任選一個(gè)即可。并且因?yàn)槲覀兿胍迦雸D片,所以我們可以省略指定Gui界面的尺寸,這樣做的好處是會(huì)創(chuàng)建一個(gè)自適應(yīng)圖片大小的Gui界面。最重要的是我們可以看到多了一行代碼label.image = photo,我們將選取的圖片photo賦值給了label的屬性對象image,如果沒有這一行代碼,圖片便無法正常顯示,這是因?yàn)閜ython會(huì)自動(dòng)回收不使用的對象,所以我們需要使用屬性對象進(jìn)行聲明。 上述的程序隱患便是因?yàn)槿鄙倭诉@一行代碼。

至此,tkinter的圖片插入可暫時(shí)告一段落。

到此這篇關(guān)于詳解python tkinter 圖片插入問題的文章就介紹到這了,更多相關(guān)python tkinter 圖片插入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python hashlib庫數(shù)據(jù)安全加密必備指南

    Python hashlib庫數(shù)據(jù)安全加密必備指南

    這篇文章主要為大家介紹了Python hashlib庫數(shù)據(jù)安全加密的使用實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 手把手教你實(shí)現(xiàn)Python連接數(shù)據(jù)庫并快速取數(shù)的工具

    手把手教你實(shí)現(xiàn)Python連接數(shù)據(jù)庫并快速取數(shù)的工具

    在數(shù)據(jù)生產(chǎn)應(yīng)用部門,取數(shù)分析是一個(gè)很常見的需求,實(shí)際上業(yè)務(wù)人員需求時(shí)刻變化,最高效的方式是讓業(yè)務(wù)部門自己來取。本文就來手把手教大家搭建一個(gè)?Python?連接數(shù)據(jù)庫,快速取數(shù)工具,需要的可以參考一下
    2022-11-11
  • 使用 Python 和 Selenium 解決 Cloudflare 驗(yàn)證碼的問題

    使用 Python 和 Selenium 解決 Cloudflare&

    Cloudflare 驗(yàn)證碼是一種用于區(qū)分人類用戶和自動(dòng)化機(jī)器人的功能,它是 Cloudflare 安全服務(wù)的重要組成部分,旨在防御網(wǎng)站免受自動(dòng)化攻擊和濫用,這篇文章主要介紹了使用 Python 和 Selenium 解決 Cloudflare 驗(yàn)證碼,需要的朋友可以參考下
    2024-06-06
  • 解決Python3.7.0 SSL低版本導(dǎo)致Pip無法使用問題

    解決Python3.7.0 SSL低版本導(dǎo)致Pip無法使用問題

    這篇文章主要介紹了解決Python3.7.0 SSL低版本導(dǎo)致Pip無法使用問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Python基礎(chǔ)之?dāng)?shù)據(jù)類型知識匯總

    Python基礎(chǔ)之?dāng)?shù)據(jù)類型知識匯總

    今天帶大家復(fù)習(xí)一下Python基礎(chǔ)知識,文中對數(shù)據(jù)類型相關(guān)知識做了詳細(xì)的匯總,對剛?cè)腴Tpython的小伙伴很有幫助喲,需要的朋友可以參考下
    2021-05-05
  • python隨機(jī)在一張圖像上截取任意大小圖片的方法

    python隨機(jī)在一張圖像上截取任意大小圖片的方法

    今天小編就為大家分享一篇python隨機(jī)在一張圖像上截取任意大小圖片的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 關(guān)于pytorch求導(dǎo)總結(jié)(torch.autograd)

    關(guān)于pytorch求導(dǎo)總結(jié)(torch.autograd)

    這篇文章主要介紹了關(guān)于pytorch求導(dǎo)總結(jié)(torch.autograd),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Python pandas 的索引方式 data.loc[],data[][]示例詳解

    Python pandas 的索引方式 data.loc[],data[][]示例詳解

    這篇文章主要介紹了Python pandas 的索引方式 data.loc[], data[][]的相關(guān)資料,其中data.loc[index,column]使用.loc[ ]第一個(gè)參數(shù)是行索引,第二個(gè)參數(shù)是列索引,本文結(jié)合實(shí)例代碼講解的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • Python中22個(gè)萬用公式的小結(jié)

    Python中22個(gè)萬用公式的小結(jié)

    在大家的日常python程序的編寫過程中,都會(huì)有自己解決某個(gè)問題的解決辦法,或者是在程序的調(diào)試過程中,用來幫助調(diào)試的程序公式,本文總結(jié)了22個(gè)萬用公式,感興趣的可以了解一下
    2021-07-07
  • Pytorch參數(shù)注冊和nn.ModuleList nn.ModuleDict的問題

    Pytorch參數(shù)注冊和nn.ModuleList nn.ModuleDict的問題

    這篇文章主要介紹了Pytorch參數(shù)注冊和nn.ModuleList nn.ModuleDict的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01

最新評論