wxpython TextCtrl和无限循环问题

lam*_*mba 1 python user-interface wxpython infinite-loop

由于某种原因,TextCtrl在无限循环内时无效,这是我的代码:

   while 1:
        localtime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        i = i + 1
        #print str(i)

        serRead = ser.readline()
        serSplit = serRead.split(",")

        #this works
        print str(i)+', '+tempOrShock+', '+localtime+', '+serSplit[1]

        #this doesn't
        self.displayTextCtrl.WriteText(str(i)+', '+tempOrShock+', '+
                                        localtime+', '+serSplit[1])
Run Code Online (Sandbox Code Playgroud)

这个无限的while循环在一个按钮点击事件中,我基本上在点击一个按钮后运行一个无限循环并告诉我的TextCtrl不断写出东西并且它不起作用.但是,print语句工作正常.知道为什么会这样吗?

Fre*_*son 6

我怀疑wxpython在其主循环中有一些需要处理的事件(调度事件等等).但是在从事件处理程序返回之前,该循环无法运行.您可能最好设置一个计时器来定期更新文本控件.