0 pythonでfoobarのalternativeを作る 18 190527

インクリメンタルサーチ

  • 情報少ないよなあ
    プランとしては
     ①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クリアのタイミングは???
  • 別スレッドにしたクラスのフラグをいじるときっどうすんのかな?
0

メモを他の人に見せる

このメモを見せたい人に、このURL(今開いているページのURLです)を教えてあげてください

コメント(0)

  • someone

  • someone