pythonでfoobarのalternativeを作る 21 190530 version 6

2019/05/30 15:04 by yamasyuh68
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
pythonでfoobarのalternativeを作る 21
hoge


とりあえずインクリメンタルはベタに実装
- とりあえずインクリメンタルはベタに実装してみる
- sqlexecute(line) はmodelを戻り値にして、treeへのセットは戻ってからにしてみよう

def コントロールのテキストチェンジ
1 テキストゲット
2 現在のモデルを取得
3 NULLならmodel1をセットして現在のモデルを破棄
  でなければ sql実行して 一時モデル作成して セットして現在のモデルを破棄
```
def incsearc():
  item=getevalue()
  temp=treeview.model()
  if item=='' :
     if temp == model1 :
          pass
     else:
          treeview.setmodel(model1)
          del temp
  else :
    line=''
    model=sqlexecute(line)
    setmodel(model)
    if temp != model1 :
        del temp
```
  
※ 一文字も受け付けないようにしたら??感じは一文字でも良いんだけど

-----
スレッド
```
init
  self.count=0
  self.th=[]

item=gettext()
if item=='' :
  m=getmodel()
  if m!=model1 :
    setmodel(1)
    del m
else :
  if count :
     self.th[self.count-1].stop()
     del self.th[self.count-1]
  self.th[self.count] = makemodel()
  self.th[self.count].start(self)
  self.count += 1 

class makemodel(threading.Thread):
  def __init__(self,parent)
     super(makemodel, self).__init__()
    self.par=par
  def run():



     item=par.gettext()
     sql 関係
     makemodei
          



```


- 途中 スレッドむずい( ̄― ̄?)




      

hoge

  • とりあえずインクリメンタルはベタに実装してみる
  • sqlexecute(line) はmodelを戻り値にして、treeへのセットは戻ってからにしてみよう
def incsearc():
  item=getevalue()
  temp=treeview.model()
  if item=='' :
     if temp == model1 :
          pass
     else:
          treeview.setmodel(model1)
          del temp
  else :
    line=''
    model=sqlexecute(line)
    setmodel(model)
    if temp != model1 :
        del temp

※ 一文字も受け付けないようにしたら??感じは一文字でも良いんだけど


スレッド

init
  self.count=0
  self.th=[]

item=gettext()
if item=='' :
  m=getmodel()
  if m!=model1 :
    setmodel(1)
    del m
else :
  if count :
     self.th[self.count-1].stop()
     del self.th[self.count-1]
  self.th[self.count] = makemodel()
  self.th[self.count].start(self)
  self.count += 1 

class makemodel(threading.Thread):
  def __init__(self,parent)
     super(makemodel, self).__init__()
    self.par=par
  def run():



     item=par.gettext()
     sql 関係
     makemodei
          



  • 途中 スレッドむずい( ̄― ̄?)