最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python3用tkinter和PIL實現(xiàn)看圖工具

 更新時間:2018年06月21日 15:33:14   作者:六個九十度  
這篇文章給大家分享了Python3用tkinter和PIL實現(xiàn)看圖工具的詳細實例代碼,有興趣的朋友參考學(xué)習(xí)下。

需求

想做看圖工具的,必然要支持jpg、png等常見格式,但tkinter是個純粹的GUI庫,不像GTK、QT那樣大而全,所以只支持gif和ppm兩種格式,局限很大,必須搭配圖像處理庫,才能實現(xiàn)基本的看圖功能
在python生態(tài)系統(tǒng)里,最常用的圖像處理庫是PIL

Python3下庫的安裝

這兩個庫在python3下跟python2有一定差異:
tkinter首字母變成小寫
PIL官方還不支持Python3,但有個fork叫Pillow,可以替代官方并且接口保持不變,需要pip install Pillow安裝

技術(shù)原理

那么怎么讓PIL讀取jpg文件生成的內(nèi)存對象被tkinter處理呢?PIL的開發(fā)人員很貼心的提供了一個PhotoImage類,跟tkinter包里的同名類接口兼容,所以可以直接將PIL生成的PhotoImage對象賦給tkinter中能接收PhotoImage入?yún)⒌乃锌丶ū热鏛abel、Canvas等)

代碼示例

#encoding=utf-8
import tkinter as tk
from PIL import Image, ImageTk

class App(tk.Frame):
  def __init__(self, master=None):
    super().__init__(master, width=400, height=300)
    self.pack()
    self.pilImage = Image.open("CSDN.png")
    self.tkImage = ImageTk.PhotoImage(image=self.pilImage)
    self.label = tk.Label(self, image=self.tkImage)
    self.label.pack()

  def processEvent(self, event):
    pass

if __name__ == '__main__':
  root = tk.Tk()
  app = App(root)
  root.mainloop()

最終顯示效果

相關(guān)文章

  • python+lunarcalendar庫實現(xiàn)使用農(nóng)歷日期

    python+lunarcalendar庫實現(xiàn)使用農(nóng)歷日期

    這篇文章主要為大家詳細介紹了python如何通過lunarcalendar庫實現(xiàn)使用農(nóng)歷日期,文中的示例代碼簡潔易懂,有需要的小伙伴可以參考一下
    2024-11-11
  • python中requests小技巧

    python中requests小技巧

    Requests 使用的是 urllib3,因此繼承了它的所有特性。Requests 支持 HTTP 連接保持和連接池,支持使用 cookie 保持會話,支持文件上傳,支持自動確定響應(yīng)內(nèi)容的編碼,支持國際化的 URL 和 POST 數(shù)據(jù)自動編碼?,F(xiàn)代、國際化、人性化。
    2017-05-05
  • Python中文檔處理神器python-docx的用法解析

    Python中文檔處理神器python-docx的用法解析

    Python中有一個python-docx的庫,它允許創(chuàng)建、修改和操作Word文檔,本文將詳細介紹python-docx庫的用法,包括如何創(chuàng)建文檔、添加文本、格式化文本等,需要的可以參考下
    2023-11-11
  • 淺談python中的getattr函數(shù) hasattr函數(shù)

    淺談python中的getattr函數(shù) hasattr函數(shù)

    下面小編就為大家?guī)硪黄獪\談python中的getattr函數(shù) hasattr函數(shù)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • 淺談django channels 路由誤導(dǎo)

    淺談django channels 路由誤導(dǎo)

    這篇文章主要介紹了淺談django channels 路由誤導(dǎo),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 利用python腳本提取Abaqus場輸出數(shù)據(jù)的代碼

    利用python腳本提取Abaqus場輸出數(shù)據(jù)的代碼

    這篇文章主要介紹了利用python腳本提取Abaqus場輸出數(shù)據(jù),利用python腳本對Abaqus進行數(shù)據(jù)提取時,要對python腳本做前步的導(dǎo)入處理,本文通過實例代碼詳細講解需要的朋友可以參考下
    2022-11-11
  • pycharm配置安裝autopep8自動規(guī)范代碼的實現(xiàn)

    pycharm配置安裝autopep8自動規(guī)范代碼的實現(xiàn)

    這篇文章主要介紹了pycharm配置安裝autopep8自動規(guī)范代碼的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Python使用pyyaml模塊處理yaml數(shù)據(jù)

    Python使用pyyaml模塊處理yaml數(shù)據(jù)

    這篇文章主要介紹了Python使用pyyaml模塊處理yaml數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • Ubuntu 下 vim 搭建python 環(huán)境 配置

    Ubuntu 下 vim 搭建python 環(huán)境 配置

    這篇文章主要介紹了Ubuntu 下 vim 搭建python環(huán)境配置,需要的朋友可以參考下
    2017-06-06
  • Python網(wǎng)絡(luò)爬蟲與信息提取(實例講解)

    Python網(wǎng)絡(luò)爬蟲與信息提取(實例講解)

    下面小編就為大家?guī)硪黄狿ython網(wǎng)絡(luò)爬蟲與信息提取(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08

最新評論

乳源| 屏东县| 东城区| 疏附县| 泽州县| 文成县| 怀宁县| 溆浦县| 太原市| 昔阳县| 基隆市| 榆树市| 宿松县| 南川市| 蓝山县| 兴国县| 育儿| 石门县| 乌海市| 芒康县| 蒙山县| 尚义县| 锦屏县| 抚顺县| 昂仁县| 庆安县| 连平县| 沙田区| 双辽市| 黄浦区| 中方县| 沂水县| 琼海市| 湖口县| 北碚区| 武隆县| 胶州市| 武穴市| 罗江县| 东山县| 星子县|