【问题标题】:Why tkinter shows same image in different widget even images are loaded separately?为什么 tkinter 在不同的小部件中显示相同的图像,即使图像是单独加载的?
【发布时间】:2020-05-29 07:10:50
【问题描述】:

第一张图片是显示2次的背景图,第二张是未显示的个人资料图片,两张照片都存在于同一根目录中并且具有相同的格式(jpg)。

from tkinter import *
from PIL import ImageTk, Image
import json

with open('config.json') as config_data:
    data = json.load(config_data)['variables']


root = Tk()
root.title(data['title'])
##TODO: for full screen
# root.wm_attributes('-fullscreen', 'true')

# MAIN BG SECTION:
image = Image.open("bg.jpg")
image = image.resize((1620, 880), Image.ANTIALIAS)
bg_image = ImageTk.PhotoImage(image)

# PHOTO FRAME SECTION:
canvas = Canvas(width=data['canvas_width'], heigh=data['canvas_height'], bg="gray11")
canvas.pack()
canvas.create_image(0, 0, image=bg_image, anchor=NW)

frame_image = Image.open("profile.jpg")
frame_image = image.resize((400, 400), Image.ANTIALIAS)
f_image = ImageTk.PhotoImage(frame_image)
photo_Label = Label(root, image=f_image).pack()


root.mainloop()

【问题讨论】:

  • frame_image = image.resize(...) 应该是frame_image = frame_image.resize(...)
  • @acw1668 我应该怎么做才能在画布内显示个人资料?
  • bg_image一样。

标签: python image canvas tkinter


【解决方案1】:

正如@acw1668 提到的frame_image = image.resize(...) 应该是frame_image = frame_image.resize(...)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-14
    • 2021-09-22
    • 2020-07-23
    • 1970-01-01
    • 1970-01-01
    • 2013-12-19
    相关资源
    最近更新 更多