Python Tkinter:打开新的tk窗口时如何应用新的背景图像?

时间:2014-07-16 12:05:44

标签: python user-interface tkinter

我使用下面的代码(每个部分使用不同的变量名称)为每个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)

1 个答案:

答案 0 :(得分:0)

好的,我已为您制定了解决方案。基本上你只需要使用tk.Toplevel()作为第二个tkinter窗口,并确保父母'}是root2所以图像将出现在第二个窗口中。

我已经使用了图像按钮,你有标签,所以你可能希望改变它,但是按钮让我有办法轻松打开一个新的tk窗口,我也使用了.pack(),而不是{{1因为它对我来说更快。也可能对您有所帮助,因为您知道我在窗口中使用了python 3.3,因此.place()可能需要一个大写T

tkinter

@ user2589273下次你应该添加更多代码,这样才能轻松给出答案,并为你量身定做,只是一个建议。希望这会有所帮助。