Tkinter GUI应用程序除了使用队列和线程

2024-04-30 05:42:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直试图在GUI的背景下进行一些繁重的计算,但是不管我多么努力地尝试,在按下按钮之后,GUI仍然会冻结。我一直在寻找答案,最好的答案是在scorython website上,但它仍然没有如期工作。在

这是我的进口清单:

   1 from multiprocessing import Queue 
   2 from Queue import Empty
   3 import threading
   4 import time
   5 try:
   6     from force import Jedi
   7 except ImportError:
   8     print "Couldn't load force module"
   9 try:
  10     import stopwatch
  11 except ImportError:
  12     print "Couldn't load stopwatch module"
  13 try:
  14     import re
  15 except ImportError:
  16     print "Couldn't load regex module"
  17 try:
  18     from Tkinter import * 
  19 except ImportError: 
  20     from tkinter import *
  21 except:
  22     print "Couldn't load tkinter module"

下面是给我带来很多麻烦的代码:

^{pr2}$

所有这些函数都在一个非常好用的GUI类中。当我按下链接到closest_match()的按钮时,GUI会冻结,尽管要从内部启动一个新线程。在

在终端输出中,我没有得到错误,但也没有得到“Queue empty”回调。它只需冻结2秒并打印输出。在

由于这是我在这里的第一篇文章,请提前问候并感谢您的快速回复:)

更新: 最后,我从GUI中初始化的另一个类启动线程,以便它们可以通信。在


Tags: 答案fromimportqueueloadgui按钮module