Проблема с индексацией текстовых виджетов Python Tkinter - PullRequest
0 голосов
/ 28 февраля 2012

Я пытаюсь создать заголовок из нескольких столбцов в текстовом виджете, но мне трудно вставить текст в новые строки или вставить пробелы между текстом. Вот мой желаемый вывод:

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 Ответ

1 голос
/ 28 февраля 2012

Текстовый виджет содержит одну или несколько строк от нуля или более символов в каждой. Изначально он содержит одну строку из нулевых символов. Когда вы указываете точку вставки за концом текста, она будет вставлена ​​в конце последней строки. Если вам нужно несколько строк текста, вам нужно вставить символы новой строки ("\n"). Если вам нужен текст внутри виджета Text в нескольких столбцах, вам нужно будет вставить пробелы или табуляции. Вы можете манипулировать табуляцией с помощью метода tabs в вашем методе Text. Смотри: http://infohost.nmt.edu/tcc/help/pubs/tkinter/text.html#text-tabs

Возможно, вы захотите рассмотреть другие способы размещения этого текста. Возможно, вам пригодятся виджеты Label и Entry, расположенные в виде сетки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...