我使用下面的代码(每个部分使用不同的变量名称)为每个tkinter窗口创建背景图像。这些都是在一个函数中启动的,并且两者都可以独立工作。
然而,当从另一个加载一个功能时,第二个功能无法显示图像。 (我已经尝试在每个函数中导入所有相关的东西)。它适用于使用tk.destruct()的情况,但是如果我想保持打开或隐藏它。 withdraw(),图像无法显示,渲染第二个窗口无用。
background_image=tk.PhotoImage(...)
background_label = tk.Label(parent, image=background_image)
background_label.place(x=0, y=0, relwidth=1, relheight=1)
答案 0 :(得分:0)
好的,我已为您制定了解决方案。基本上你只需要使用tk.Toplevel()
作为第二个tkinter窗口,并确保父母'}是root2
所以图像将出现在第二个窗口中。
我已经使用了图像按钮,你有标签,所以你可能希望改变它,但是按钮让我有办法轻松打开一个新的tk窗口,我也使用了.pack()
,而不是{{1因为它对我来说更快。也可能对您有所帮助,因为您知道我在窗口中使用了python 3.3,因此.place()
可能需要一个大写T
。
tkinter
@ user2589273下次你应该添加更多代码,这样才能轻松给出答案,并为你量身定做,只是一个建议。希望这会有所帮助。