1

注意:我只在 OS X (Lion) 中看到过此处描述的问题。

Matplotlib 是一个用于数据可视化的 Python 库。当我尝试在屏幕上显示图表时,显示图表的窗口仍然顽固地隐藏在其他窗口后面。查看的唯一方法是隐藏、最小化或移开所有其他窗口。这使得与 matplotlib 的交互工作变得不必要地繁琐。

FWIW,产生这些结果的一种方法如下所示;显示的所有步骤(包括对 ipython 的调用)均取自 matplotlib 教程:

% ipython --pylab
...
In [1]: import matplotlib.pyplot as plt

In [2]: plt.plot([1, 3, 2, 4])
Out[3]: [<matplotlib.lines.Line2D at 0x106aabd90>]

此时,如果没有其他窗口可以隐藏它(这是不常见的),就会看到带有图形的窗口出现,但它没有获得焦点。即使单击它,它也有一个没有焦点的窗口外观(例如左上角的三个按钮保持浅灰色,而不是通常的红-黄-绿)。

另外,FWIW,我观察到python+numpy+matplotlib+ipython 的多种安装方式(在同一台机器上)完全相同的行为homebrew,包括使用系统提供的 python 的安装,使用由安装的 python 的安装,或者那些使用直接从源代码安装到我主目录之外的位置的python。

万一这很重要,我已经为Lion 附带的有缺陷的 Tcl 和 Tk 框架安装了 ActiveTcl 替代品。

(相比之下,当我在 Ubuntu 中运行上述程序时,图形窗口出现,具有焦点,并且在所有其他窗口的顶部,正如它应该出现的那样。)

关于可能发生的事情或我能做些什么的任何想法?

注意:我知道 Enthought 的 EPD,但这不是一个选项,因为我无法深入了解原因。

4

1 回答 1

1

不幸的是,这是在 OS X 上使用 Aqua Tk 的基于 Tkinter 的应用程序的普遍问题。请参阅此处进行讨论,应用程序可以做什么来解决它,以及建议的通用解决方案。

于 2013-04-01T21:23:38.667 回答