首页 > 解决方案 > 实现启动画面时,pyimage 不再存在

问题描述

所以,这是我在 Python 中见过的最奇怪的错误之一。希望你能帮助我。

我在 main_file 中有一个 tkinter 主窗口,通过以下方式实现图像:

from PIL import Image, ImageTk, ImageColor

#...

self.image_package_render = Image.open('ImagePackage.png')
self.image_package_render_data = np.array(self.image_package_render.convert('RGBA'))

self.plus_render = ImageTk.PhotoImage(self.image_package_render.resize((14, 14), box=(16, 20, 30, 34)))

当我直接启动 main_file 时,它​​通过root.mainloop().

现在我想通过开发一个外部脚本来实现一个闪屏:

import tkinter as tk

splash_root = tk.Tk()
splash_root.geometry("200x200")
splash_label = tk.Label(splash_root, text="Splash Screen", font=18)
splash_label.pack()

import main_file

splash_root.destroy()
tk.mainloop()

但是,现在 main_file 没有启动并抛出错误“_tkinter.TclError:图像“pyimage12”不存在”。

(如果我直接在 main_file 中实现 splash_root 也不起作用)。

它显然与 splash_root 有关,但我无法理解它。

干杯伙计们!

标签: pythontkinter

解决方案


更新:已解决:

似乎除了root.mainloop()与顶层之外的另一个窗口组合之外,另一个主循环只是以某种方式使代码崩溃。

我实现了一个顶级窗口作为此处建议的启动画面:Tkinter Show splash screen and hide main screen until __init__ has finished

谢谢!


推荐阅读