非常に大きなグリッドを持つwxPython GUIがあります。 wxPythonデモの例(GridHugeTable.py)に同様のコードを使用しています。つまり、PyGridTableBaseを使用して仮想グリッドを作成しています。wxPython仮想グリッドに列を追加できません
ただし、このグリッドに対話的に列を追加しようとすると問題が発生しています。
wx._core.PyAssertionError: C++ assertion "Assert failure" failed at /Users/vagrant/pisi-64bit/tmp/wxPython-3.0.2.0-3/work/wxPython-src-3.0.2.0/src/generic/grid.cpp(1129) in AppendCols():
Called grid table class function AppendCols but your derived table class does not override this function
しかし、私は私のテーブルクラスでAppendCols
を上書きしようとした場合、アプリケーションは単に無期限にハングアップして解決したことがない:このエラーでAppendCols(1)
結果を呼び出す
。それは私が成功した他の方法を上書きすることができました
class HugeTable(gridlib.PyGridTableBase):
"""
Table class for virtual grid
"""
def __init__(self, log, num_rows, num_cols):
gridlib.PyGridTableBase.__init__(self)
def AppendCols(self, *args):
pass
...実際にすべての私のカスタムAppendCols
方法で何もない場合でもハング、(setValueの、のgetValue、getColLabelValue、など)ので、私は」ここでは何が違うのか分かりません。
更新:
私は離れてしばらくした後、この問題に戻りました。私はもはやwx.__core.PyAssertionError
を取得しません。しかし、私はまだカスタムAppendColsメソッドを動作させることができません。 AppendColsに何を入れて新しい列を作るのか分かりません実際にはが現れます。
ソースコードをどのように調べるかわかりません - Pythonのドキュメントの中には何も探していないものがありますので、wxWidgetsを掘り下げる必要がありますか?このドキュメントは役に立ちませんでした:https://wiki.wxpython.org/wxPyGridTableBase。