Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 19, 2016 20:09:33

BearPro
Зарегистрирован: 2015-09-09
Сообщения: 46
Репутация: +  0  -
Профиль   Адрес электронной почты  

Скроллбар в Tkinter

В общем. У меня есть окно. В нём есть Frame. Во фрейме расположено куча Label'ов, которые пакуются методом Grid.
Нужно сделать горизонтальную прокрутку - видно не все колонки, а уменьшить их не имею права.
Пытался сделать так, как написано в документации (только там говорилось о вертикальной прокрутке):

 scrollbar = ttk.Scrollbar(root, orient = "horizontal", command=main_frame.xview)
scrollbar.pack(side='bottom')
main_frame['xscrollcommand'] = scrollbar.set

Вижу тейсбек:
 File "C:\Users\BearPro\documents\visual studio 2015\...\root.py", line 43, in <module>
AttributeError: 'Frame' object has no attribute 'xview'

Как решить?

Офлайн

#2 Ноя. 19, 2016 20:18:39

BearPro
Зарегистрирован: 2015-09-09
Сообщения: 46
Репутация: +  0  -
Профиль   Адрес электронной почты  

Скроллбар в Tkinter

А, ну, раз уже топик сделал, то ещё спрошу: у меня один из всех этих Label'ов очень-очень длинный текст в себе содержит (пути к файлам, зачастую находящимся в ебенях). Можно ли сделать так, что бы этот Label бы вертикально повёрнут, на 90 градусов? Именно не буквы в столбик, а повернуть всё целиком?

Офлайн

#3 Ноя. 19, 2016 23:27:45

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Скроллбар в Tkinter

Смотрим в сторону create_window Canvas'а. Если ничего не найдете, дайте знать, я у себя поищу решение.

Офлайн

#4 Ноя. 20, 2016 10:43:20

BearPro
Зарегистрирован: 2015-09-09
Сообщения: 46
Репутация: +  0  -
Профиль   Адрес электронной почты  

Скроллбар в Tkinter

4kpt_IV
Смотрим в сторону create_window Canvas'а. Если ничего не найдете, дайте знать, я у себя поищу решение.
Может тупость но я не понимаю как мне виджет запихнуть в окно в канвасе.
Когда я вызываю canvas.create_window(), назад получаю ID созданного окна, но не само окно. А при создании Lable, нужно указывать именно объекта родительского виджета, а не число.
В официальном туторе по этому поводу написано примерно “Самое интересное - это то что вы можете создавать окно в канвасе в окне, и помещать туда виджеты. Разумеется, мы не можем полностью описать все возможности Canvas, потому что их очень много. Сори, чувак”, и гуглить у меня это тоже почему-то не получается.
Как же получить объект, созданный канвасом, зная его ID?

Офлайн

#5 Ноя. 20, 2016 18:50:00

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Скроллбар в Tkinter

Проблема в том, что смогу глянуть только в четверг, потому как все данные по старым проектам у предков на машине, а я не дома Если задача терпит, то отпишитесь, чтобы я зря потом не терял время.

Офлайн

#6 Ноя. 20, 2016 21:14:57

BearPro
Зарегистрирован: 2015-09-09
Сообщения: 46
Репутация: +  0  -
Профиль   Адрес электронной почты  

Скроллбар в Tkinter

4kpt_IV
Проблема в том, что смогу глянуть только в четверг, потому как все данные по старым проектам у предков на машине, а я не дома Если задача терпит, то отпишитесь, чтобы я зря потом не терял время.
Могу подождать, конечно. Буду очень благодарен, если поделитесь своим решением.

Офлайн

#7 Ноя. 20, 2016 22:36:01

Kudria
Зарегистрирован: 2016-10-02
Сообщения: 16
Репутация: +  1  -
Профиль   Отправить e-mail  

Скроллбар в Tkinter

При создании окна в канвасе можно указать виджет, который хотите туда вставить: canvas.create_window(…, window=main_frame, …)

Офлайн

#8 Ноя. 25, 2016 13:12:59

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Скроллбар в Tkinter

Актуально еще?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version