为了账号安全,请及时绑定邮箱和手机立即绑定

无法正确执行函数

无法正确执行函数

largeQ 2022-09-27 09:53:32
我对下面的 tkinter 脚本有一个奇怪的问题。如果执行了注释外的行,则它按预期显示图像。当我调用该函数时,它不会。主窗口我打开了,没有其他事情发生。不过,“函数调用”正在命令行管理程序中打印。我在这里是否遗漏了有关 tkinter 和/或功能的基本内容?我发现了一些关于IDLE的奇怪行为的报告,我也正在使用这些报告,这可能是原因吗?昨天我遇到了一些问题,因为我 tkinter.py 调用文件,与模块相同,但位于不同的文件夹中。像更多的人一样,这导致了使用 IDLE 打开脚本时出现问题。我用下面的代码写了一个新文件,问题仍然存在。from tkinter import *import tkinter as tkfrom PIL import Image, ImageTkfrom pathlib import Pathwindow = Tk()window.title('xy')window.geometry('600x400')path = Path("C:/Python/png/")def function_a():    print('function called')    img = Image.open(str(path)+'\\'+'pic'+'.png')    img = img.resize((300,200), Image.ANTIALIAS)    img = ImageTk.PhotoImage(img)    background_label = tk.Label(window, image=img)    background_label.pack()function_a()##img = Image.open(str(path)+'\\'+'pic'+'.png')##img = img.resize((300,200), Image.ANTIALIAS)##img = ImageTk.PhotoImage(img)##background_label = tk.Label(window, image=img)##background_label.pack()window.mainloop
查看完整描述

1 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

照片会被垃圾回收删除,因为它是一个局部变量。若要修复函数末尾的此添加,这将阻止垃圾回收删除图像。imgbackground_label.img = img



查看完整回答
反对 回复 2022-09-27
  • 1 回答
  • 0 关注
  • 74 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信