今日、スクロール可能なペイントパネルの作成には1つの問題があります。 私はこのコードを使用して垂直方向と水平方向のboxsizersを作りたい:WXPythonスクロール可能なペイントパネル
ここ#Панель рисования
DrawScroller = ScrolledWindow(PaintFrame, ID_ANY)
DrawScroller.SetScrollRate(5, 5)
DrawScroller.EnableScrolling(True, True)
DrawScroller.SetSize(Size(685, 600-51))
DrawScroller.Move(Point(115, 0))
DrawScroller.SetBackgroundColour(Colour(255, 255, 255))
ScrollBarV = BoxSizer(VERTICAL)
ScrollBarH = BoxSizer(HORIZONTAL)
DrawPanel = Panel(DrawScroller, ID_ANY)
DrawPanel.SetSize(Size(685*2, (600-51)*2))
DrawPanel.Move(Point(0, 0))
DrawPanel.SetBackgroundColour(Colour(255, 255, 255))
Paint = PaintZone(DrawPanel)
Paint.Clear()
x, y = DrawPanel.GetSize()
ScrollBarH.Add(DrawPanel, x, y)
ScrollBarV.Add(ScrollBarH)
DrawScroller.SetSizer(ScrollBarV)
PaintZoneがPaintDCと同じですが、数字とツールのようないくつかの変数を持ちます。 私はこのコードを実行し、描画しようとすると、プログラムはこれで鎮圧されます:私は、スクロールバーを作成してブロックをコメントすると
「20858セグメンテーションフォールト(コアダンプ)python2のmain.py paint.sh:ライン1」 sizerを設定すると(このコードでは3dと最後)、コードはうまく動作し、描画するとプログラムはクラッシュしません。描画するときにDrawingPanelがサイズを変更しているので、スクロールバーが必要です。どのように私はこれを行うことができますか?