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

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

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

需求

想做看圖工具的,必然要支持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安裝

技術原理

那么怎么讓PIL讀取jpg文件生成的內存對象被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()

最終顯示效果

相關文章

  • python虛擬環(huán)境的安裝配置圖文教程

    python虛擬環(huán)境的安裝配置圖文教程

    下面小編就為大家?guī)硪黄猵ython虛擬環(huán)境的安裝配置圖文教程。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • pycharm找不到解釋器問題的解決方案

    pycharm找不到解釋器問題的解決方案

    安裝好PyCharm之后,新建或者導入項目碰到找不到解釋器的情況,不用擔心,追根到底,咱們就是需要找到pycharm*.exe的文件,那么這個文件在哪里呢?所以本文就給大家介紹一下pycharm找不到解釋器問題的解決方案,需要的朋友可以參考下
    2024-04-04
  • Python生成器generator和yield關鍵字的使用

    Python生成器generator和yield關鍵字的使用

    生成器是一種特殊的迭代器,可以通過列表推導式的修改或者使用yield關鍵字來創(chuàng)建,生成器函數(shù)能夠在迭代時動態(tài)產生值,而不是一次性生成所有值,這有助于節(jié)省內存,yield關鍵字使函數(shù)執(zhí)行暫停并保存當前狀態(tài),下次調用時從停止處繼續(xù)執(zhí)行
    2024-09-09
  • 解決pytorch報錯:AssertionError: Invalid device id的問題

    解決pytorch報錯:AssertionError: Invalid device id的問題

    今天小編就為大家分享一篇解決pytorch報錯:AssertionError: Invalid device id的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • PyTorch手寫數(shù)字數(shù)據(jù)集進行多分類

    PyTorch手寫數(shù)字數(shù)據(jù)集進行多分類

    這篇文章主要介紹了PyTorch手寫數(shù)字數(shù)據(jù)集進行多分類,損失函數(shù)采用交叉熵,激活函數(shù)采用ReLU,優(yōu)化器采用帶有動量的mini-batchSGD算法,需要的朋友可以參考一下
    2022-03-03
  • Python實現(xiàn)子類調用父類的方法

    Python實現(xiàn)子類調用父類的方法

    這篇文章主要介紹了Python實現(xiàn)子類調用父類的方法,解決子類覆蓋父類初始化方法而出現(xiàn)的不確定問題,可通過調用超類構造方法的未綁定版本或者使用super函數(shù)來解決,需要的朋友可以參考下
    2014-11-11
  • python數(shù)組如何添加整行或整列

    python數(shù)組如何添加整行或整列

    這篇文章主要介紹了python數(shù)組如何添加整行或整列問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • python和numpy?matplotlib版本匹配及安裝指定版本庫

    python和numpy?matplotlib版本匹配及安裝指定版本庫

    Matplotlib 是 Python 的繪圖庫,它經常與NumPy一起使用,從而提供一種能夠代替Matlab的方案,這篇文章主要給大家介紹了關于python和numpy?matplotlib版本匹配及安裝指定版本庫的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-10-10
  • 詳解python基礎中的for循環(huán)

    詳解python基礎中的for循環(huán)

    這篇文章主要為大家介紹了python的for循環(huán),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • python requests庫爬取豆瓣電視劇數(shù)據(jù)并保存到本地詳解

    python requests庫爬取豆瓣電視劇數(shù)據(jù)并保存到本地詳解

    這篇文章主要介紹了python requests庫爬取豆瓣電視劇數(shù)據(jù)并保存到本地詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08

最新評論