如何使用Python绘制网格世界

3
我希望绘制一个网格世界(类似于表格),其中单元格可能包含机器人或障碍物。 用点/箭头表示机器人,用黑色填充单元格可以表示障碍物。
我不需要复杂的东西,只需要一个简单的Python库来帮助我完成这个任务。有什么建议吗?

1
你需要只绘制一次,还是需要在时间上进行动画处理? - ulidtko
我暂时想画一次它,但将来可能会添加动画效果。 - Karan
1个回答

1

tkinter有一个画布小部件,非常容易使用。它具有用于线条、填充多边形、圆形等基本图形的原语。而且通过事件循环,可以很容易地实现简单的动画效果。


我正在研究tkinter。我使用了一个网格来对齐标签。然而,它们目前是无边框的,并且尺寸不同。您知道如何添加边框并使每个单元格都统一(以便看起来更像一个网格吗?) - Karan
1
@Newton:给标签一个边框宽度为1和“solid”的relief属性。或者,聪明一点,在每个单元格中加入一点间距,并给包含它们的框架一个不同的颜色,这样框架就会透过来。如果你使用的是grid布局管理器,一定要给每个单元格赋予sticky属性,值为“nsew”,这样标签才能扩展到填充整个单元格。 - Bryan Oakley
谢谢你的帮助,它完成了任务。我想知道你是否知道如何在单元格内绘制箭头。我可能可以在标签上方粘贴图像,但我更喜欢能够动态控制箭头的宽度(例如,当您点击按钮时箭头变得更加粗体)。到目前为止,我还没有使用过画布,因为我还没有需要 ... 只是将标签排列在网格位置。我猜我需要使用画布来实现这一点。如果是这种情况,我需要将标签集成到画布中吗? - Karan
@Newton:在Tk中绘制的唯一方法是使用Canvas对象。这允许您嵌入小部件,但小部件始终会在绘图上方。因此,要实现您想要的效果,需要在画布上完成整个操作。 - Bryan Oakley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接