我有两个Text小部件放在tkinter窗口中。我的问题是第二行的空边框隐藏了第一行的一部分。
我查看http://effbot.org/tkinterbook/text.htm
,但所有默认的边框内容都设置为0。
这是我的代码,谢谢!
import Tkinter, tkFont, random
root=Tkinter.Tk()
root.geometry('+%d+%d' % (0,0)) #controls where the window is
root.geometry('%dx%d' % (600,350)) #controls window size
root.config(background="#fff")
firstLine = "First Line"
secondLine = "Second Line"
customFont = tkFont.Font(family="Agency FB",
size=100,
weight="bold")
text1 = Tkinter.Text(root,
font=customFont,
background="#fff",
fg="#000",
relief="flat")
text1.insert("end",firstLine)
text1.config(state='disabled')
text1.place(x=10,y=10) #controls where the text is placed
text2 = Tkinter.Text(root,
font=customFont,
background="#fff",
fg="#000",
relief="flat")
text2.insert("end",secondLine)
text2.config(state='disabled')
text2.place(x=10,y=125) #controls where the number is placed
root.mainloop()
答案 0 :(得分:1)
我认为有几件事情是错误的。
首先,您声称第二个边框超过了第一个边框,但这在技术上并不准确。您所看到的不是边框,而是围绕字体的间距。将border或highlightthickness属性设置为零不会解决此问题,因为它是文本小部件的内部空间。
其次,您似乎可能会假设大小为100
的字体高达100像素。情况并非如此 - 100
表示100 points 高,而不是100 像素高。您可以将-100
的大小指定为100像素高。
第三,您正在使用place
,这意味着您明确地将第二个小部件放在第一个小部件之上。同样,我的猜测是你将它放在125的y坐标上,因为你认为另一个是100个小部件高,事实并非如此。
如果您正在尝试精确放置文本,则应该使用带有一些文本项的画布。小工具不是这项工作的最佳工具。