我可以让tkinter显示窗口或背景图像,是否有人建议如何同时显示两个(我希望对象进入背景图像),我的代码如下:
return e.returnValue;
答案 0 :(得分:0)
您将图像的中心放置在500x500。但是,程序启动后,您的窗口只有大约300x200。您的图像可能在那里,但不在屏幕的可见部分。
即使您将画布的大小设置为800x700,也可以在画布中打包小部件。这会导致画布缩小以适合其内容。更复杂的是,在打包画布时不要使用expand
或fill
选项,因此最终结果是GUI的内部缩小到最小尺寸。
注意:如果您使用create_window
向画布添加窗口,则不也应该在该窗口上调用grid
或pack
。您需要拨打create_window
或pack
,但不能同时拨打两者。无论你最后称呼的是哪一个都有效。
有许多解决方案,其选择取决于您的最终目标。如果要将画布强制为800x700的高度而不管窗口大小或其内容的大小,可以在画布内关闭几何体传播。例如:
w.pack_propagate(False)
您还可以打包画布以填充给定的空间,然后将背景图像锚定到左上角。例如:
w.pack(fill="both", expand=True)
w.create_image(0, 0, image=image1, anchor="nw")
您也可以停止使用画布,并将背景图像放在标签中。然后,您可以使用place
将标签置于主窗口的中心位置。例如:
background_label = Label(root, image=image1)
background_label.place(relx=.5, rely=.5)