5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【GUI】wxWidgets(旧wxWindows) その3【サイザー】

63 :デフォルトの名無しさん:2006/11/14(火) 12:45:50
wxPythonのGridの質問です。

EVT_GRID_CELL_CHANGEの時に新しく行を追加すると
無限ループになってしまいます。
エラーを見ると、新しい行でEVT_GRID_CELL_CHANGEが起きてるのでなくて
最初にEVT_GRID_CELL_CHANGEを起こした行で再帰になってるようなのですが
これを回避する方法はありますか?
やりたいことは MS Accessのテーブルみたいに、
空白行に何か書込んだら、新しい空白行を追加したいのです。

class MyGrid(wx.grid.Grid):
 def __init__(self, parent):
  wx.grid.Grid.__init__(self, parent, -1, size=(200, 100) )
  self.CreateGrid(1,1)
  self.Bind(wx.grid.EVT_GRID_CELL_CHANGE, self.OnCellChange)

 def OnCellChange(self, event):
  Row = event.GetRow()
  print "%d: EVT_GRID_CELL_CHANGE" % Row
  self.InsertRows(Row + 1, 1, 1)

結果:
0: EVT_GRID_CELL_CHANGE
 (・・数十行繰り返し・・)
0: EVT_GRID_CELL_CHANGE
Traceback (most recent call last):
File ****, line 15, in OnCellChange
Row = event.GetRow()
RuntimeError: maximum recursion depth exceeded

268 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)