2017-08-30 42 views
0

我已經創建其中選擇一些文件並點擊特定按鈕後,它生成使用matplotlib(一些用途和plotly)3至5繪製的應用程序。對於這個GUI,我使用了Tkinter。繪圖僅示出了如果從Tkinter的關閉主窗口以.exe

當我運行它完美的作品,按下按鈕所作的圖後的.py代碼,然後關閉後其窗口一個新的顯示,並依此類推,直至完成。

我試圖創建使用Py2exe和PyInstaller此應用程序的.exe文件。它們都具有相同的行爲:在按下按鈕後顯示第一個圖,但是當我關閉它的窗口時,沒有人顯示。只有在關閉創建的Tkinter窗口後(一個主框架創建另一個框架,其中包含用於顯示圖形的按鈕),則會出現其他圖(第二個窗口,然後關閉窗口後顯示第三個窗口,依此類推)。

這個任何線索?我也

import matplotlib 

matplotlib.use('TkAgg') 

嘗試沒有成功。 TkAgg是用於生成.exe(必須在matplotlibrc中更改它)的工具。

代碼運行方式如下:main_app與Tkinter的功能,second_app一些有用的功能,只有一個Tkinter的消息(如果滿足條件)和一堆小的.py文件,每一個與它自己的計算功能地塊。

如果來自main_app一個按鈕被按下它調用一個特定計算和生成的曲線這些次要.py文件(功能)的。

回答

0

我遇到了同樣的問題。我使用的是Python 3.4和PyInstaller 3.3,我會嘗試一次製作幾個圖,但只有一個會顯示,直到我關閉整個可執行文件(使用PyInstaller的--onefile選項製作)。我通過繪製時使用

plt.show(block=False) 

代替

plt.show() 

解決了這個問題。這爲我做了詭計,希望它能幫助你!