顯示圖片
import customtkinter as ctk
from PIL import Image
from io import BytesIO
import requests
### 下載網路圖片並轉成 CTkImage
def download_image(url, size):
response = requests.get(url) # 從指定的 URL 下載圖片
image_data = BytesIO(response.content) # 將下載回來的二進位圖片資料轉成記憶體檔案
pil_image = Image.open(image_data) # 使用 PIL 開啟圖片
# 建立 CTkImage
ctk_image = ctk.CTkImage(
light_image=pil_image, # Light 模式使用的圖片
dark_image=pil_image, # Dark 模式使用的圖片
size=size # 設定圖片顯示大小,例如 (150, 150)
)
return ctk_image # 回傳建立完成的 CTkImage
### 主程式
def main():
### 建立主視窗
app = ctk.CTk() # 建立 CustomTkinter 主視窗
app.geometry("400x300") # 設定視窗大小,寬 400、高 300
### 下載圖片
cat_image = download_image(
"https://i.pinimg.com/1200x/41/e2/5f/41e25f50ab9c59bc18df85de4176d5b1.jpg", # 網路圖片網址
(150, 150) # 設定圖片顯示大小,寬 150、高 150
)
### 顯示圖片
image_label = ctk.CTkLabel(
app, # 指定 Label 放在主視窗 app 裡面
image=cat_image, # 設定要顯示的 CTkImage
text="" # 清空文字,只顯示圖片
)
image_label.pack(pady=30) # 將 Label 放入視窗,上下增加 30 像素的間距
### 啟動視窗
app.mainloop() # 啟動事件迴圈,讓視窗持續顯示並等待使用者操作
### 程式進入點
if __name__ == "__main__":
main() # 執行主程式