добавление полос прокрутки в приложение pythoncard - PullRequest
2 голосов
/ 22 января 2009

scrollingwindow в качестве основного фрейма для приложения пока не поддерживается для pythoncard. Как я могу добавить полосы прокрутки в основной кадр (фон)?

1 Ответ

2 голосов
/ 12 февраля 2009

Я никогда не использовал pythoncard, но в чистом wxpython вы можете просто поместить ScrolledWindow внутри фрейма, а затем использовать sizer для управления полосами прокрутки (поскольку содержимое sizer не помещается в окне). Например, этот короткий фрагмент кода даст вам окно с вертикальной полосой прокрутки.

class Scrolled(wx.ScrolledWindow):
    def __init__(self, parent):
        wx.ScrolledWindow.__init__(self, parent, size=(200,200))
        self.SetScrollRate(0, 10);
        sizerV = wx.BoxSizer(wx.VERTICAL)
        #create a bunch of stuff in the sizer which doesnt fit
        for i in range(0,50):
            text = "Line: " + str(i)
            sizerV.Add(wx.StaticText(self, label=text), 0)

        self.SetSizer(sizerV)

class Frame(wx.Frame):
    def __init__(self, parent):
        wx.Frame.__init__(self, parent, size=(200,200), Scrolled(self)
            title="Scroll Bars", style=wx.CAPTION)
...