2 zouquan741 zouquan741 于 2014.11.05 03:45 提问

python使用simpledialog出现RuntimeError: main thread is not in main loop的问题

最近在学python,先上代码:

import threading
import tkinter.simpledialog

def showDialog(evt):
    dlg = tkinter.simpledialog.SimpleDialog(root,text='Test!', buttons=['OK'])
    dlg.go()

def test():
    threading.Thread(target=root.event_generate, args=('<<showDialog>>',)).start()

root = tkinter.Tk()
root.bind('<<showDialog>>',showDialog)
tkinter.Button(text = 'showDialog',command = test).pack()
root.mainloop()

使用的是python3.4,第一次点击showDialog按钮一切正常,但是之后再点就出现RuntimeError: main thread is not in main loop这个错误,请教一下这个问题的原因和解决办法。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!