循环继续后继续代码?

时间:2014-06-04 13:28:10

标签: python user-interface tkinter

我最近发布了一个类似的问题,但在做了推荐的项目之后我遇到了类似的问题,但是代码发生了很大的变化,所以我认为最好看看干净的代码!

我正在制作一个非恶意的Twitch TV bot,可以在聊天中运行一些命令。我一直在使用机器人2个月,并决定创建一个小的GUI,以便在变量运行时对变量进行基本更改。 GUI和Bot都可以单独运行,但我遇到了让它们协同工作的问题。我一般都是线程和python的新手,所以我真正坚持如何解决这个问题。

我使用Tkinter创建GUI,它需要一个循环才能使窗口保持打开状态。因此,此循环将停止其余代码继续并启动机器人。我需要弄清楚如何保持循环运行,但还要继续运行Bot的其余部分并在GUI后面运行。

这是启动GUI的Bot的开始;

app = Geekster_Bot_GUI(None)
app.title('Geekster_Bot')
app.geometry('450x100')
app.mainloop()

然后继续连接到IRC的机器人。

如何在mainloop()之后继续?

先谢谢了!

1 个答案:

答案 0 :(得分:0)

您可以使用threadingmultiprocessing。简单的例子:

import Tkinter
import threading

def create_frame():
    MessFrame = Tkinter.Tk()
    MessFrame.geometry('800x400+200+200')
    MessFrame.title('Main Frame')
    Framelabel = Tkinter.Label(MessFrame, text='Text Here', fg= 'red')
    Framelabel.place(x=10,y=10)
    MessFrame.mainloop()


t1 = threading.Thread(target=create_frame)
t1.start()

#continue
print 1234

但是......通常最好将GUI保留在主线程中。