2014-05-29 2 views
0

Я искал повсюду, чтобы исправить это. Я наткнулся на это:Сделать текст в tkinter Listbox подходящим внутри?

How to fit Tkinter listbox to contents

Но этот вопрос задает обратное, что я хочу. Я хочу, чтобы ящик оставался размером, на который я его установил, но текст бежит сбоку, как на скриншоте из вышеупомянутого связанного вопроса. Есть ли способ заставить \n добавить в строку после того, как ее количество символов достигнет длины списка?

Кроме того, я приношу свои извинения, если что-то не в порядке с форматом моего вопроса, я никогда не писал здесь раньше.

class Stars(Tk): 
    def __init__(self): 
     Tk.__init__(self) 
     self.feed = Listbox(self, width = 55 , height = 31, relief = SUNKEN, borderwidth = 3) 
     self.feed.grid(row = 1, column = 2, columnspan = 2) 

    def simulate(self): 
     self.mass = eval(self.massEntry.get()) 
     self.feed.insert(END, 'Star to be created with mass of {} * 10^30 kg; {} solar masses.'.format(1.98855 * self.mass, self.mass)) 
     self.feed.insert(END, '0 years: Protostar formed in an interstellar gas cloud, and begins to compress due to gravity.') 

Это все соответствующий код (попытка моделирования звездной эволюции). Это то, что это выглядит как при запуске, с проблемой обведена красным:

http://imgur.com/dZCYe6s

+0

Не могли бы вы предоставить соответствующий рабочий код? – Gogo

+0

извините, обновленный оригинальный пост – JHollowed

+0

ваш код не имеет должным образом отступом – Gogo

ответ

0

Нет, нет никакого способа, чтобы иметь Listbox обернуть текст. Если вы хотите поддерживать упаковку, используйте виджет Text. Если вы хотите выбрать такие элементы, как в списке, вы можете добавить некоторые пользовательские привязки для этого.

+0

Я получил его с текстовым виджетами. Теперь текст будет соответствовать, но слова будут обрезаны, поэтому половина слова находится на одной строке, а половина слова - на другом. Есть ли способ изменить выравнивание текста, я полагаю, это будет вызвано, поэтому, если целое слово не поместится на остальной части линии, оно перейдет к следующему? – JHollowed

+0

Вы пытались изменить атрибут 'wrap'? Установите его в «слово», чтобы оно было привязано к границам слов. По умолчанию он обходит границы символов. –

Смежные вопросы