如何防止Tkinter和Pyserial阻止整个程序执行

时间:2012-06-05 08:09:31

标签: python tkinter tweepy

我目前正在编写一个涉及使用Tkinter(用于GUI),Pyserial(与设备进行串行通信)和Tweepy的程序。目前的执行流程如下:

  1. 实例化GUI类(基于Tkinter)。这组代码也使用了Tkinter的标准键绑定功能。
  2. GUI类在内部创建非阻塞串行连接。这仅用于写作,而不是阅读。
  3. 程序然后继续创建Tweepy Stream实例,并侦听推文。
  4. GUI和Tweepy实例分别正常工作。但是,当顺序调用时,停止在(2)。只有在Tkinter窗口关闭后才会初始化Tweepy。

    有没有办法让Tweepy和GUI同时工作(类似于多线程,除了对象应该互相引用?)

1 个答案:

答案 0 :(得分:0)

找到解决方案。我使用了线程类。

显然,我只需要使用thread_1 = threading.Thread()thread_1.start()调用GUI初始化方法。其他函数不必作为线程运行。

对于遇到同样问题的人来说,这些可能会有所帮助:http://softwareramblings.com/2008/06/running-functions-as-threads-in-python.html