Мне нужно отобразить кучу кнопок. описание каждой кнопки соответствует каждому слову текста.
Для придания тексту вида я хочу сделать ширину кнопки в соответствии с длиной слова внутри. Поэтому я создаю переменную, которая дает мне ширину px в соответствии с количеством букв.
Я не знаю почему, но она не работает хорошо. Это работает для некоторых слов, а для других нет.
некоторые идеи? (см. на скриншоте, как слово «the» не имеет достаточно места и только ... - это отображение.
Конечная цель, конечно, состоит в том, чтобы текст выглядел нормально как текст, где я могу нажимать на слова .
Спасибо.
mylist=['loren','ipsum','whapmmtever','loren','ipsum','otra','the','palabra','concept']
list_btns=[]
for i,word in enumerate(mylist):
# here I try to define the width of the button as depending on the length of the word:
wordwidth= str(len(word)*12) + 'px'
wd_raw_save_button = widgets.Button(description=word,
disabled=False,
button_style='success',
tooltip='check the word',
icon='',
layout = Layout(width = wordwidth, margin='0px 0px 0px 0px'))
list_btns.append(wd_raw_save_button)
showcase=HBox(list_btns)
showcase
На самом деле после запуска вуаля для визуализации результата я получаю это:
это не создает впечатление реального текста, то есть того же расстояния между словами, которое является конечной целью. Я предполагаю, но я не уверен, что причина возможно, символы имеют разную ширину, и мне придется вычислять ширину символ за символом. Но это не объясняет, что слово «the» не помещается внутри кнопки. Второе объяснение состоит в том, что базовый CSS предполагает определенная минимальная граница, которая идет «над» самим словом. В любом случае, я не знаю, как контролировать / влиять на него.