Python 'grid()' 忽略 row/column/sticky 选项
Python 'grid()' ignores row/column/sticky options
我正在尝试制作一款小纸牌游戏。这是一个玩家,对抗 CPU,就这么简单。一个游戏。但是,如果不按规则玩游戏,游戏就没有乐趣,在这种情况下,.grid()
不想按规则玩 (.grid(row, column, sticky
)。代码执行正常,console报错,编译,执行,"works"完全。但是,图像标签根本没有移动。
注意:我不确定这是因为我用来显示图像的方法,如果它不适用于图像,或者它只是简单的错误。
这是代码和输出。
Python
crdImg = []
usrStk = None
cpuStk = None
i = 1
#define cards
while i < 57:
i = i + 1
crdImg.append('img/cards/%s.png' % (i - 1))
usrStk = crdImg[54]
cpuStk = crdImg[55]
#define card images
usrCrdImg = Image.open(usrStk)
usrCrdBg = ImageTk.PhotoImage(usrCrdImg)
usrCrd = tkinter.Label(self, text="", image=usrCrdBg, borderwidth=1)
usrCrd.grid(row=4, column=4)
usrCrd.image = usrCrdBg
usrCrd.pack()
输出
您似乎首先使用 grid
定位标签,然后使用 pack
覆盖该位置。不要同时使用 grid
和 pack
布局管理器!
删除行 usrCrd.pack()
并将 CardGame(root).pack()
更改为 CardGame(root).grid()
,然后它应该可以工作。
但是请注意,除非您将内容放入其他行和列,否则 usrCrd.grid(row=4, column=4)
仍会将卡片放在左上角,因为其他行和列的宽度和高度为零。
我正在尝试制作一款小纸牌游戏。这是一个玩家,对抗 CPU,就这么简单。一个游戏。但是,如果不按规则玩游戏,游戏就没有乐趣,在这种情况下,.grid()
不想按规则玩 (.grid(row, column, sticky
)。代码执行正常,console报错,编译,执行,"works"完全。但是,图像标签根本没有移动。
注意:我不确定这是因为我用来显示图像的方法,如果它不适用于图像,或者它只是简单的错误。
这是代码和输出。
Python
crdImg = []
usrStk = None
cpuStk = None
i = 1
#define cards
while i < 57:
i = i + 1
crdImg.append('img/cards/%s.png' % (i - 1))
usrStk = crdImg[54]
cpuStk = crdImg[55]
#define card images
usrCrdImg = Image.open(usrStk)
usrCrdBg = ImageTk.PhotoImage(usrCrdImg)
usrCrd = tkinter.Label(self, text="", image=usrCrdBg, borderwidth=1)
usrCrd.grid(row=4, column=4)
usrCrd.image = usrCrdBg
usrCrd.pack()
输出
您似乎首先使用 grid
定位标签,然后使用 pack
覆盖该位置。不要同时使用 grid
和 pack
布局管理器!
删除行 usrCrd.pack()
并将 CardGame(root).pack()
更改为 CardGame(root).grid()
,然后它应该可以工作。
但是请注意,除非您将内容放入其他行和列,否则 usrCrd.grid(row=4, column=4)
仍会将卡片放在左上角,因为其他行和列的宽度和高度为零。