Я пытаюсь добавить простой выход журнала в tk window/frame.Как я могу прокручивать текст на ярлыке tk/tinker python?
До сих пор я только нашел, как (легко) добавить вертикальную полосу прокрутки на canvas
, списки входных и text
(который является fullblown текстовый редактор и имеет нет textvariable
ссылки поддержки)
Label
не может быть присоединен до scrollbar
(легко), потому что ему не хватает атрибута yview
.
#my naive attempt:...
self.lbl_log = tk.Label(self, width=80, height=10, textvariable=self.string_log)
self.lbl_log.pack(side="top")
self.vsb = tk.Scrollbar(self, orient="vertical", command=self.lbl_log.yview)
self.lbl_log.configure(yscrollcommand=self.vsb.set)
AttributeError: 'Label' object has no attribute 'yview'
есть ли простой и удобный способ для прокрутки метки виджета с несколькими строками в питоне Ках? Я не обязательно должен использовать Label
, я просто люблю его, потому что он прост и имеет удобство textvariable
), поэтому я открыт для альтернативных виджетов для этой проблемы.
Это как раз то, что он говорит на олове: объекты «Ярлыки» не имеют «yview» и поэтому не прокручиваются. Вам придётся что-то прошивать вместе с прокручиваемыми виджетами. Имейте в виду, что «Ярлык» не предназначен для отображения чего-либо большего, чем метка. «Сообщение» больше подходит для больших блоков текста. Если он настолько велик, что ему нужно прокручивать, попробуйте объект «Text» (вы можете отключить его, чтобы предотвратить модификацию, если хотите). – TigerhawkT3
Вы можете сделать перенос текста самостоятельно. Просто возьмите символ с фронта строки и поместите его в конец строки и снова установите текст. Это может иметь побочный эффект, что он будет работать быстрее и медленнее из-за разницы в ширинах символов. Это должно сработать. –
Взломать эмулированную полосу прокрутки, чтобы обуздать неподходящий виджет в программе, вызовет боль. Я настоятельно рекомендую использовать виджет 'Text' как @Bryan, и я предлагаю, поскольку он предназначен для больших блоков текста и совместим с' Scrollbar'. – TigerhawkT3