包装上方是否可以铺设网格?我问这是因为我正在制作一张互动地图。我想要一个背景图像占据整个窗口,然后将按钮放置在特定位置。网格很容易将按钮放在他们需要去的地方,但除非使用背包,否则我无法让背景图像正常工作。然后,我不能轻松地将按钮放在我希望他们去的地方(他们需要穿过地图上的特定地点的顶部,即建筑物)包装上方覆盖网格
Q
包装上方覆盖网格
0
A
回答
0
没有真正做起来的最佳途径,它也有缺点,但:
import tkinter as tk
from PIL import Image, ImageTk
root = tk.Tk()
with open ('map.jpg', mode='rb') as imfile:
im = ImageTk.PhotoImage(Image.open(imfile))
bg = tk.Label(root, image=im)
bg.grid(column=0, row=0, columnspan=10, rowspan=10, sticky='nesw')
lbl = tk.Label(root, text="Label")
lbl.grid(column=1, row=1, sticky='nesw')
entry = tk.Entry(root)
entry.grid(column=2, row=2, sticky='nesw')
root.mainloop()
这个最大的问题是,如标签控件不会是透明的,下面显示的地图,看图片:
如果您需要透明度,最好的方法是使用画布。
+0
我能够在网格上放置一个地方。这对我来说似乎非常简单,并且可能会实现您正在寻找的内容。 – bretcj7
0
“在包顶部覆盖网格”是没有意义的。 Tkinter既没有网格也没有包装对象。 grid
和pack
是功能。
作为函数,您不能使用它们来管理具有公共父项的窗口小部件。
既然你的目标是要有一个背景图像,最简单的解决方案是使用标签,而不是一个框架。您可以拨打grid
在标签内部排列小部件,其方式与您在框架内排列小部件的方式完全相同。使用标签的好处是你可以给它一张图片。
另一种选择是继续使用您的框架,然后使用place
将您的背景图像添加到框架。 place
与grid
和pack
不具有相同的限制,因为它不影响父窗口小部件的几何图形。
相关问题
- 1. 覆盖包/网格行为
- 2. 覆盖流星中的包装方法
- 3. 包装网格布局 - 边界/填充和覆盖问题
- 4. 覆盖与包装食谱
- 5. 如何覆盖NyroModal包装?
- 6. 覆盖布局在网格上的Android
- 7. WP - XAML在矩形上覆盖网格
- 8. iframe上的SVG覆盖/网格线
- 9. WPF文本覆盖网格
- 10. 覆盖已安装的打包方法的最佳方法
- 11. 链接覆盖图像包装
- 12. 覆盖包装类中的toString()
- 13. Flex覆盖我的.HTML包装器
- 14. 覆盖梨包
- 15. 装载机覆盖超过单格
- 16. Sylius主题化 - 覆盖网/包/ syliusweb
- 17. Java包装:覆盖一个名为超级构造方法
- 18. 如何覆盖包装类中的方法?
- 19. Matplotlib - 如何覆盖图像上不同轴上的网格?
- 20. 覆盖装饰的子类方法
- 21. Magento - 覆盖网格不刷新
- 22. 视频背景网格覆盖问题
- 23. 覆盖javascript函数AG-网格
- 24. 添加覆盖网格表查看
- 25. 网页CSS覆盖CKEditor的3风格
- 26. SL4:在网格中覆盖儿童
- 27. WPF画布和网格覆盖
- 28. XNA - 网格覆盖太突出
- 29. 如何让网格覆盖数字?
- 30. dojox enhanced网格覆盖canEdit函数
您不能在一个容器中混用小部件布局管理器。您可以通过将背景图像放在Canvas上,然后[将按钮放在Canvas上]来获得所需的效果(http://effbot.org/tkinterbook/canvas.htm#Tkinter.Canvas.create_window -方法)。 –
不,但是您可以使用'pack'顶部的'place'进行布局。 – Novel