WXpython中的可滚动窗口

时间:2013-07-05 17:49:43

标签: wxpython

我需要一个可滚动的框架窗口并尝试使用ScrollWindow()方法,该方法docstring的参数应该是什么,以使框架完全可滚动..

ScrollWindow(self, int dx, int dy, Rect rect=None)

Physically scrolls the pixels in the window and move child 
 windows
accordingly.  Use this function to optimise your scrolling
implementations, to minimise the area that must be redrawn. 
 Note that
it is rarely required to call this function from a user program.

导入wx

class Example(wx.Frame):

    def __init__(self, parent, title):
        super(Example, self).__init__(parent, title=title, 
            size=(300, 250))

        self.InitUI()
        self.Centre()
        self.Show()
        self.ScrollWindow()


    def InitUI(self):

        panel = wx.Panel(self)

        hbox = wx.BoxSizer(wx.HORIZONTAL)

        fgs = wx.FlexGridSizer(3, 2, 9, 25)

        title = wx.StaticText(panel, label="Title")
        author = wx.StaticText(panel, label="Author")
        review = wx.StaticText(panel, label="Review")

        tc1 = wx.TextCtrl(panel)
        tc2 = wx.TextCtrl(panel)
        tc3 = wx.TextCtrl(panel, style=wx.TE_MULTILINE)

        fgs.AddMany([(title), (tc1, 1, wx.EXPAND), (author), 
            (tc2, 1, wx.EXPAND), (review, 1, wx.EXPAND), (tc3, 1, wx.EXPAND)])

        fgs.AddGrowableRow(2, 1)
        fgs.AddGrowableCol(1, 1)

        hbox.Add(fgs, proportion=1, flag=wx.ALL|wx.EXPAND, border=15)
        panel.SetSizer(hbox)


if __name__ == '__main__':

    app = wx.App(False)
    Example(None, title='Review')
    app.MainLoop()

1 个答案:

答案 0 :(得分:0)

ScrollWindow没有添加滚动窗口,它用于制作窗口滚动,这是它在帖子中所说明的内容。

  

以物理方式滚动窗口中的像素并相应地移动子窗口。

ScrolledWindow或ScrolledPanel在wxpython演示中查看了它们