【发布时间】:2016-07-03 03:15:51
【问题描述】:
我在 Windows 上编写 PyQt 应用程序已有一段时间了,我想看看它是否能在 Linux 上正常运行。 gui 应用程序基本上是用于 qtconsole/notebook 的科学工具包的外壳。 Linux 和 Windows 系统均基于 Anaconda 3.5,并运行 PyQt5。它在 Windows 上运行良好,但是当我在 Linux 上运行时,弹出的 Qt 窗口只是将窗口下方的图形冻结在适当的位置(见下图)。命令行上根本没有显示任何错误,窗口只是弹出并且根本不显示小部件。此外,当我尝试使用窗口顶部的 x 按钮关闭时,它会显示“应用程序无响应”对话框,我必须强制退出。
代码库非常大(对于这篇文章来说太大了),所以我真的无法为这个问题提供代码示例(我还不能在这个程序之外重现错误)。我可以说我确实从这个站点获得了一些适用于简单 gui 程序的示例: https://github.com/Deusdies/pythonbo 。我的代码有很多小部件子类化,使用 pyqtgraph(来自 github 的最新版本)进行绘图,并且有很多 MDI 子窗口。
底层工具包的其他包包括:
- numpy、numba、scipy、matplotlib
- lmfit
- pyexcel,pyexcel-xlsx
- pyvisa,pyserial
- pyperclip
当我尝试将任何 MDI 子窗口小部件作为单独的程序运行时,我遇到了与运行主程序相同的问题。
我想我很好奇是否有人以前遇到过这种情况,并且可以建议我应该调查的可能的事情,看看问题可能是什么。
【问题讨论】:
-
请发送MCVE。从您的程序开始,并删除所有不会导致问题的代码,直到您留下 minimal 示例。您很有可能以这种方式自己发现问题(尤其是因为小示例似乎有效,因此问题可能出在您的程序中,而不是在您的安装中)。如果没有,请发布您的 MCVE,我们可以更好地查看问题。
标签: python linux windows pyqt pyperclip