我正在为棋盘游戏制作GUI。我的游戏逻辑会计算黑白颜色的份数并返回金额。在GUI中,我使用2对标签来显示信息。
self._white_score_label = tkinter.Label(
master = self._info_frame, text = 'White:', font = default_font)
self._white_score_label.grid(
row = 0, column = 0, padx = 0, pady = 10,
sticky = tkinter.E)
self._white_score_num = tkinter.Label(
master = self._info_frame, text = str(self._white_count), font = default_font)
self._white_score_num.grid(
row = 0, column = 1, padx = 0, pady = 10, sticky = tkinter.W)
self._black_score_label = tkinter.Label(
master = self._info_frame, text = 'Black:', font = default_font)
self._black_score_label.grid(
row = 1, column = 0, padx = 0, pady = 10, sticky = tkinter.E)
self._black_score_num = tkinter.Label(
master = self._info_frame, text = str(self._black_count), font = default_font)
self._black_score_num.grid(
row = 1, column = 1, padx = 0, pady = 10, sticky = tkinter.W)
问题是,当一个计数包含两位数字的字符串,而另一个计数一位数字的字符串时,一位数字的字符串将添加一个随机数。这里是截图。外壳显示计数功能正确,分别显示9和16。但是标签错误。
2
在您打印之前,那位数字在那里9
。五月的得分12
或22
之前,再后来9
,你印9
在上面12
,9
被涂过1
,但2
依然存在。解决该问题的一种方法是在渲染标签之前在该区域上绘制一个矩形,或者在比分之后渲染几个空格。但是正确的方法可能是每次渲染乐谱时都重复使用相同的标签,并更改其文本,而不是每次都创建一个新标签。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句