Обновить размер полосы прокрутки в pysimpleGUIPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Обновить размер полосы прокрутки в pysimpleGUI

Сообщение Anonymous »

По сути, у меня та же проблема, что и эта: проблема
Я пробовал это раньше, но получаю сообщение об ошибке, думаю, потому что я использую фреймы (я думаю).
/>Как видите, я пробовал использовать window.visibility_changed(), но это не помогло.
Тестовый код для объяснения:

Код: Выделить всё

import PySimpleGUI as sg

def frame (n_frame):
layout = [[sg.Text  ('test')]]

return layout

def make_window():
layout = [[sg.Column([[sg.Text  ('Title')],          # First title of the IDS
[sg.Column(frame(1),key = '-LVL 1 CALL-')],
[sg.pin   (sg.Frame(title  = '',
layout = [[sg.Button(' + ',key = '-ADD A LVL 1 FRAME-'),
sg.Button(' - ',key = '-REMOVE A LVL 1 FRAME-'),
sg.Button('Save')]],
relief = 'flat'))]],
scrollable=True,
vertical_scroll_only=True,
pad =(0,0))]]
window = sg.Window('Window Title', layout, metadata=1, resizable = True, element_padding = (10, 6), finalize = True)
return window

def main():
window = make_window()

while True:
event, values   = window.read()

if event == sg.WIN_CLOSED or event =='Save':
break

elif event == '-ADD A LVL 1 FRAME-' :
window.metadata += 1
window.extend_layout(window['-LVL 1 CALL-'],(frame(window.metadata)))
window.refresh()
window.visibility_changed()
window['-LVL 1 CALL-'].contents_changed()

window.close()

if __name__ == '__main__':

main()
Сообщение об ошибке:

Код: Выделить всё

File "C:\...\Lib\site-packages\PySimpleGUI\PySimpleGUI.py", line 8302, in contents_changed
self.TKColFrame.canvas.config(scrollregion=self.TKColFrame.canvas.bbox('all'))
^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Frame' object has no attribute 'canvas'

Дополнительные вопросы:
  • Я хотел бы обновить его размер без необходимости вызывать .contents_changed() в конкретное окно, которое только что было добавлено, потому что у меня их очень много.
  • Я бы хотел, чтобы полоса прокрутки адаптировалась к размеру окна, если пользователь изменяет размер окна.
    Это менее важно, и я также могу найти их самостоятельно, спасибо за помощь

    Подробнее здесь: https://stackoverflow.com/questions/782 ... ysimplegui
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»