【问题标题】:When implementing Splash Screen, pyimage doesn't exist anymore实现启动画面时,pyimage 不再存在
【发布时间】:2021-09-21 08:05:53
【问题描述】:

所以,这是我在 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: image "pyimage12" doesn't exist”。

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

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

干杯!

【问题讨论】:

    标签: python tkinter


    【解决方案1】:

    更新:已解决:

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

    我实现了一个顶级窗口,就像这里建议的那样:Tkinter Show splash screen and hide main screen until __init__ has finished

    谢谢!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-19
      • 2014-08-08
      • 1970-01-01
      • 1970-01-01
      • 2021-08-30
      • 2019-01-29
      相关资源
      最近更新 更多