Python

【Python 】Tkinterでの画像表示と一定時間ごとの表示切り替え機能の実装

この記事は約3分で読めます。

 

 

こんにちは、ミナピピン(@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

 

 

コメント

タイトルとURLをコピーしました