当我关闭我的Tkinter应用程序时PSSE崩溃

时间:2016-03-16 18:47:49

标签: python-2.7 tkinter psse

我正在编写一个应用程序,用于批处理PSSE 33中的应急研究,具有各种初始条件。我遇到了与API例程psspy.accc_with_dsp_3()和/或psspy.accc_single_run_report_4()相关的问题。我的程序在PSSE 32中使用例程psspy.accc()psspy.accc_single_run_report_3()运行得很好,它在版本33中工作,直到我关闭它(即在我的root.destroy()窗口调用Tkinter) ,此时PSSE的进度窗口显示

AC应急分析结果“PATH / file.acc”已准备好进行图形显示

然后PSSE崩溃了。如果我在程序运行后等待几分钟或者我删除了最后生成的* .acc文件,那么当我关闭应用程序时PSSE不再崩溃,这告诉我问题可能与PSSE处理* .acc文件有关

以下是代码的一部分:

    psspy.dfax([0, 1],
               sub_file,
               mon_file,
               con_file,
               dfx_file)
    psspy.accc_with_dsp_3(accc_opt1,
                          accc_opt2,
                          "",
                          dfx_file,
                          acc_file,
                          "", "", "")
    psspy.lines_per_page_one_device(1, 10000)
    psspy.report_output(2, 
                        dat_file, 
                        [0, 0])
    psspy.accc_single_run_report_4(rpt_opt1,
                                   rpt_opt2,
                                   rpt_opt3,
                                   acc_file)

    psspy.close_report()
    psspy.close_powerflow()

根据PTI支持,

  

PSSE 33是使用Microsoft C / C ++(MSC)版本10编译器构建的(与Microsoft Visual Studio 2010对应)。 Python 2.7(因此Tkinter模块)是使用Microsoft C / C ++版本9编译器构建的(与Microsoft Visual Studio 2008对应)。为了使Python 2.7能够在PSSE33 GUI内部工作,PTI使用Visual Studio 2010重新编译了Python 2.7和其他一些基本的Python模块。我们遇到过与wxPython,Tkinter这样的崩溃。在wxPython应用程序的情况下,我已经看到当你运行wxPython作为对话而不是“mainloop app”时,你可以避免这种崩溃。我想知道,如果您编写Tkinter对话框来从PSSE调用,那么会避免这种崩溃。最好的解决方案是运行PSSE和你的脚本,它使用任何Python解释器中的Tkinter,比如IDLE(开始>程序> Python 2.7> IDLE)。这样可以避免您遇到的崩溃。

这不是一个令人满意的答案,因为这意味着PSSE 33中的用户定义的自定义工具功能不如以前的版本。任何人都可以提出更好的解决方法吗?

我在Windows 7上运行PSSE 33.7.0,Python 2.7.9和Tkinter 8.5。

0 个答案:

没有答案