Plot仅显示是否使用.exe

时间:2017-08-30 11:45:39

标签: python matplotlib tkinter pyinstaller py2exe

我创建了一个应用程序,在选择一些文件并单击一个特定按钮后,它会使用matplotlib生成3到5个图(有些使用plotly)。对于这个GUI,我使用了Tkinter。

当我运行.py代码时,它完美地工作,按下按钮后会显示一个图表,然后在关闭窗口后会显示一个新的,依此类推,直到完成。

我尝试使用Py2exe和PyInstaller为此应用程序创建.exe文件。它们都具有相同的行为:按下按钮后会显示第一个图,但是当我关闭它的窗口时,不显示任何一个。只有在关闭创建的Tkinter窗口后(一个主框架创建另一个框架,其中有我点击的按钮用于显示图形),其他图形出现(第二个,然后关闭窗口后第三个,依此类推)。 / p>

有关此问题的任何线索?我也尝试了

import matplotlib

matplotlib.use('TkAgg')

没有成功。 TkAgg是用于生成.exe的(必须在matplotlibrc中更改它)。

代码运行方式如下:带有Tkinter功能的main_app,带有一些有用功能的second_app和只有一个Tkinter消息(如果满足条件)和一堆次要.py文件,每个文件都有自己的计算和图形

如果按下main_app中的按钮,它会调用这些次要.py文件(函数)中的一个特定的来计算和生成图。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。我使用的是Python 3.4和PyInstaller 3.3,我会尝试一次制作几个图,但只有一个会显示,直到我关闭整个可执行文件(使用PyInstaller的--onefile选项)。我使用

解决了这个问题
 plt.show(block=False) 

而不是

plt.show() 

在绘图时。这对我来说很有用,希望它可以帮到你!