tkinterを用いてpng画像を表示する (Mac, Python)

TL;DR

  • tkinter >= 8.6を使えばpng画像を表示することができる
  • 手元環境がtkinter < 8.5の場合はbrew install tcl-tkの後Pythonを再インストールすることでtkinterのバージョンを更新できる

前提

計算機環境

  • Apple M2 16GB (2022年)
  • macOS Sonoma 14.5

パッケージマネージャーなど

  • HomeBrew
  • pyenv
  • Python 3.10.8

本題

  1. tkinterのバージョン確認
  2. tkinterのバージョンが8.6未満の場合、tkinterの更新及びpythonの再インストール

TkInterのバージョン確認

pythonを起動して、以下を実行するとバージョンがわかります。8.6以外の数字が出力された場合、pythonの再インストールが必要です。

import tkinter as tk
print(tk.TkVersion)

TkInter, Pythonの更新

まずpythonをアンインストールします。

pyenv uninstall 3.10.8

次に、tkinterを更新します。

brew install tcl-tk

最後にpythonを再インストールします。

pyenv install 3.10.8

サンプルコード

app = tk.Tk()
canvas = tk.Canvas(app, width=image_width // drop + 1, height=image_height // drop + 1)
canvas.pack()
im = tk.PhotoImage(file="sample_image.png")
im = im.subsample(drop, drop) # drop pixelおきにプロット
canvas.create_image(0, 0, image=im, anchor=tk.NW)

この記事は役に立ちましたか?

もし参考になりましたら、下記のボタンで教えてください。

関連記事

コメント

この記事へのコメントはありません。

CAPTCHA