0

私はpygtkでマルチスレッドアプリケーションを開発しています。すばやくスレッドを使用してスタックしています。だから私はさまざまな可能性を試しており、GUIで何かをしたときにのみ私のスレッドが機能することがわかりましたこれが私のコードです

t = threading.Thread(target=self.calc,args=(treeiter))
t.daemon = True
t.start()

    def calc(self,treeiter):
        store=self.builder.get_object('liststore1')
        per=0
        while 1:
            print "Calcing and changing percent,per="+str(per)
            store.set_value(treeiter,4,str(int(per))+"%")
            per+=1
            time.sleep(1)

スレッドごとに値を更新しようとしていliststoreますが、ボタンまたは他の GUI イベントをクリックしたときにのみ更新されます。なぜですか? スレッドがバックグラウンドで実行されないのはなぜですか?

4

1 に答える 1