--- Title: pythonでfoobarのalternativeを作る 18 190527 Author: yamasyuh68 Web: https://mimemo.io/m/ydN6wox5njlp7qE --- ## インクリメンタルサーチ - 情報少ないよなあ プランとしては  ①tree描画を止める  ②tree操作を止める ①を昨日調べたけどわからなかった eventfilterを使うか、treectrlをサブクラス化してpaintをオーバーライドするか 既存コントロールのサブクラス化はUIの書き方が面倒なのでまだやってない eventfilterが簡単そうだったんだけどできない(-_-) exampleも出てこないんだよなあ・・・ ②は可能なのかな???出来ないわけがないような気もするけど・・ - そもそもwxpythonのtreectrlの挙動は、DATAが3万件として ・全表示は数秒後に一気 ・全削除は数秒かけてスクロールバーが伸びていくのがわかる データ追加中は再描画しないが、削除中はするって事か? 削除の仕方を考え直せば良いんだろうか Qtのコントロールはデータ追加と表示が別れてるから、現在データを表示させながら別のデータを作っておいて、ビューにセットするデータを一気に差し替える、みたいなことが出来そうな気がするんだけど。 wxも基本は同じだと思うんだが違うのかな?? treeの部分だけでもQTで書いてみるか??? - プランは ・treeクリア前にデータを作る ・追加で文字の入力があればデータ作成を中止して、またデータ作成を始める ・データが出来たらtreeのデータを差し替え ・これはスレッドでやる、そのために別クラスにする ``` class maketree(): def init(): # 実行フラグを1にしておく self.fkag=1 def flag(flag): # 中止フラグ self.flag=flag def make(tree,line): # 親のtreeとSQL文 # SQLの実行とデータのtreeへのセット # 常にflagを確認して作業する、途中で0に変わってたら終了すること # treeクリアのタイミングは??? ``` - 別スレッドにしたクラスのフラグをいじるときっどうすんのかな?