Python Tkinter第二次运行时崩溃了Automation Desk

时间:2015-12-08 15:42:20

标签: python tkinter

代码在第一次运行时按预期运行,但如果我再次运行它会导致自动化服务台崩溃。如果我在Python中运行它没有错误,我可以重复运行它。

" AD &#34。 AutomationDesk变量是否在automationdesk之外无效。测试我评论该部分,只使用DEBUG而不是 AD .DEBUG。

Automation desk是dSpace的软件。

from Tkinter import *
import Tkinter,tkFileDialog,tkMessageBox
from datetime import datetime


#print time 
now = datetime.now()
print "Test Start time is: "+'%s:%s:%s' % (now.hour, now.minute,now.second)

#hide the main window
root = Tk()
root.withdraw()

#Debugger option
debugYN = tkMessageBox.askyesno("Debug", "Would you like to debug?")

if debugYN == True:
    _AD_.DEBUG = 1
    print "Debugging enabled"
else:
    _AD_.DEBUG = 0

#File name selection
file = tkFileDialog.askopenfilename()

if file != None and debugYN == True:
    print file

_AD_.DFCxlsPath = file


if _AD_.DEBUG == 1:
    now = datetime.now()
    print "Select XLS & Debug Completed at "+'%s:%s:%s' % (now.hour, now.minute,now.second)

root = None
#root.destroy()

del file
del debugYN
#remove now here because no matter what we print the start time
del now

1 个答案:

答案 0 :(得分:1)

我在尝试在AutomationDesk中使用Tkinter时遇到了同样的问题,所以我联系了他们寻求支持。以下是他们的官方回应:

"我们不建议在AutomationDesk Exec块中使用Tkinter。我们建议使用内部'对话框'您可以从AutomationDesk中的库浏览器访问的库。此外,Tkinter不是线程安全的。

请在您的电脑上查看以下文档: C:\ Program Files(x86)\ Common Files \ dSPACE \ HelpDesk 2014-A \ Print \ AutomationDeskGuide.pdf>疑难解答>使用Tkinter

原因是Tkinter和Python 2.7之间交互中的线程问题。互联网上还有其他关于此问题的报告。例如:http://bugs.python.org/issue11077"

不幸的是,Dialogs库不是很强大,而且我很难找到好的文档。