我正在尝试使用 Tkinter 编写拼字游戏代码,并且想知道如何使用字母和数字复制拼字游戏图块。我当前的设计是一个框架,左上角有一个标签(网格:0,0),右下角有另一个标签(网格:1,1)。
self.test=tk.Frame(master=self,width=40,height=30,bg=COLOUR)
self.testletter=tk.Label(master=self.test,bg=COLOUR,text="A",font=("Helvetica",16,"bold"))
self.testnumber=tk.Label(master=self.test,bg=COLOUR,text="1",font=("Helvetica",7,"bold"))
self.testletter.grid(row=0,column=0)
self.testnumber.grid(row=1,column=1)
self.test.pack(pady=5,padx=5)
通过将它们设置为相同的背景,它工作正常,但字母被挤到边缘,并且在拼字游戏图块上,它位于图块的中心,数字位于角落。 这里是:
主要问题是标签的文本上方和下方有很多额外的空间。有没有办法删除标签上无用的空白或其他方法来解决我的问题。 我知道我可以在顶部和左侧添加很多填充,但这意味着里面有一个小字母的大图块,并且字母和数字之间仍然有很大的间隙,理想的情况是一个小图块,因为完整的网格将有 15 个,并且应该适合一台计算机屏幕 据我研究,我还没有找到标签空白的任何答案。
可以使用方法place来调整元素1对应的标签。
代码:
# Crear frame and pack it
self.test = tk.Frame(self, width=60, height=40, bg=COLOUR)
self.test.pack_propagate(False)
self.test.pack(pady=20, padx=20)
# Crear label for "A"
self.testletter = tk.Label(self.test, bg=COLOUR, text="A", font=("Helvetica", 16, "bold"))
self.testletter.place(x=5, y=5)
# Crear a label for "1"
self.testsubscript = tk.Label(self.test, bg=COLOUR, text="1", font=("Helvetica", 8, "bold"))
# Ajust "1" below "A"
self.testsubscript.place(x=23, y=20)`