こんにちは、ミナピピン(@python_mllover)です.
mentaでtkinterに画像を表示させる&一定時間ごとに表示する画像が切り替わるようなツールは作れないのかという相談を頂いたので調査して簡単なサンプルを作ってみたのでメモ代わりにブログに保存しておきます。
Tkinterでの画像表示と一定時間ごとの表示切り替え機能の実装
import sys
import tkinter
from PIL import Image, ImageTk
import threading
import time
import random
def show_image():
#外から触れるようにグローバル変数で定義
global item, canvas
root = tkinter.Tk()
root.title('test')
root.geometry("300x300")
img = Image.open(r"your_image.png")
img = ImageTk.PhotoImage(img)
canvas = tkinter.Canvas(bg = "black", width=225, height=225)
canvas.place(x=50, y=50)
item = canvas.create_image(0, 0, image=img, anchor=tkinter.NW)
root.mainloop()
#スレッドを立ててtkinterの画像表示を開始する
thread1 = threading.Thread(target=show_image)
thread1.start()
#切り替えたい画像を定義
img1 = Image.open(r"your_image.png")
img2 = Image.open(r"your_image2.jpg")
img3 = Image.open(r"your_image3.png")
img1 = ImageTk.PhotoImage(img1)
img2 = ImageTk.PhotoImage(img2)
img3 = ImageTk.PhotoImage(img3)
list_ = [1,2,3]
while True:
value = random.choice(list_)
if value == 1:
canvas.itemconfig(item,image=img1)
elif value == 2:
canvas.itemconfig(item,image=img2)
elif value == 3:
canvas.itemconfig(item,image=img3)
time.sleep(1)
ソースコードと画像ファイルの配置についてはレポジトリを参考にしてください
⇒https://github.com/beginerSE/tkinter_view_imagefile
参考:https://obenkyolab.com/?p=770
コメント
[…] 関連記事:【Python 】Tkinterでの画像表示と一定時間ごとの表示切り替え機能の実装 […]
[…] 関連記事:【Python 】Tkinterでの画像表示と一定時間ごとの表示切り替え機能の実装 […]