【发布时间】:2015-07-29 19:03:26
【问题描述】:
我有一个游戏板,它是行 x 列列表。
最小大小为 2x2,最大 10x10,不等行:列可以(例如 2x3、4x9)。
主窗口对象没有预先确定的几何尺寸设置,小部件(按钮)在其中为创建 2D 地图的每个列表元素提供 .grid()。
理想情况下,考虑到所使用的方法,这将在主窗口内产生一个很好的边缘=边缘映射。
不幸的是,测试表明,虽然这对于列数 > 3 的地图是正确的,但当列数
请注意,放置的按钮固定为 32x32 像素(由内部图像确定)。
def createMap (): #creates rows x columns 2D list - a map
global rowsEntryVar, columnsEntryVar, mapList
mapList = []
for row in range(rowsEntryVar):
tempList = []
for column in range(columnsEntryVar):
tempList.append(Button(root, bd=0, bg=redMagenta, activebackground=redMagenta))
mapList.append(tempList)
然后:
def drawMap ():
global mapList
for row in range(len(mapList)):
for column in range(len(mapList[row])):
mapList[row][column].grid(row=row, column=column)
图片:
请放轻松,我对编程很陌生。 :)
【问题讨论】:
-
您使用
place而不是grid有什么原因吗?grid使创建类似网格的布局变得更加容易。 -
该死,我在写这个问题的时候一定是脑残了......显然我使用了
.grid()方法
标签: python python-3.x dictionary graphics tkinter