我目前有一个wxPanel,我通过使用wx.PaintDC的设备上下文绘制线条,文本等来响应绘制事件。但是,我的绘图可能会超出面板的大小,并会从可见屏幕上继续显示。要看到更多的图纸的唯一方法是扩大应用程序窗口,这是不切实际的,并且仍然可能不允许在非常大的图纸情况下看到完整的图纸。理想情况下,我希望能够滚动绘图,以便应用程序窗口不需要调整大小,并可以看到大图。在wxPython中滚动画框
环顾四周,似乎我可能想使用wxScrolledPanel而不是wxPanel。但是,我没有成功使用这个 - 使用wxScrolledPanel只在使用控件(例如按钮,文本字段)时才工作,而不是在设备上下文中绘制?
滚动已绘制面板的适当方法是什么?
我整个ScrolledWindow演示来提供的wxPython曾几何时,并已与该摆弄周围 - 该解决方案是完全按照你描述。之前尝试使用ScrolledPanel时遇到的问题似乎是因为我只调用SetVirtualSize,而我也需要调用SetScrollRate。我最初并没有调用PrepareDC,导致绘图不能像滚动一样更新。我已将此标记为答案,谢谢。 – KingJ 2013-02-28 23:02:20