Python Tkinter文本小部件索引的麻烦

时间:2012-02-28 12:30:12

标签: python text tkinter

我正在尝试在Text Widget中创建一个多列标题,但是在新行上插入文本或在文本之间插入空格时遇到困难。这是我想要的输出:

Name
First     Middle     Last

以下是我的代码片段:

self.root = Tk()
self.frame = Frame(self.root)
self.frame.pack()
self.db_text = Text(self.frame, width=150)
self.db_text.grid(row=0, column=0)
self.db_text.insert('1.0', 'Name')
self.db_text.insert('2.0', 'First')
self.db_text.insert('2.16', 'Middle')
self.db_text.insert('2.31', 'Last')

这是我目前的输出:

NameFirstMiddleLast

非常感谢!

1 个答案:

答案 0 :(得分:1)

文本小部件包含一行或多行,每行包含零个或多个字符。最初它包含一行零字符。当您指定超出文本末尾的插入点时,它将插入最后一行的末尾。如果您需要多行文字,则需要插入换行符("\n")。如果您希望在多个列中的Text小部件内部显示文本,则需要插入空格或制表符。您可以使用tabs方法上的Text方法操纵制表位。请参阅:http://infohost.nmt.edu/tcc/help/pubs/tkinter/text.html#text-tabs

您可能需要考虑其他方式来布置此文本。您可能会发现在网格布局中排列的LabelEntry小部件非常有用。