Приветствую. Буквально 3 дня назад я начал заниматься графической разработкой под Linux на wxPy для сдачи проектов по курсу программирования. На данном этапе я должен написать Paint, и одним из заданий было - написание скроллбаров для пролистывания окна. И с этим у меня случилась проблема. Как угодно пробовал создавать скроллбары для ScrolledWindow виджета, никак не появляются. Был даже случай, когда вроде работает, но панели рисования почему то не редактируется по размеру, и застревает в бесконечном 1х1 пикселей. Пример такого кода я приведу ниже:
#Панель рисования
DrawScroller = ScrolledWindow(PaintFrame, ID_ANY)
DrawScroller.SetScrollRate(5, 5)
DrawScroller.EnableScrolling(True, True)
DrawScroller.SetSize(Size(685, 600-51))
DrawScroller.Move(Point(115, 0))
DrawPanel = Panel(DrawScroller, ID_ANY)
DrawPanel.SetSize(Size(685, (600-51) ))
DrawPanel.Move(Point(0, 0))
Paint = PaintZone(DrawPanel)
Paint.Clear()
ScrollBarV = BoxSizer(VERTICAL)
ScrollBarH = BoxSizer(HORIZONTAL)
ScrollBarH.Add(DrawPanel)
ScrollBarV.Add(ScrollBarH)
DrawScroller.SetSizer(ScrollBarV)
Но, что характерно, я использую точно такой-же метод создания скроллера (только исключительно вертикального) в классе свойств инструмента. Пример работы находится
здесь (Класс ObjectProperties). Прошу прощения за такой страшный код (связи классов, etc), так как мне нужно было быстро переписать работу на другом ЯП, но я столкнулся с такой проблемой. Как можно было бы реализовать стандартные скроллеры так, чтобы это делало вид, что работает?