相关疑难解决方法(0)

记录pyqt4应用程序中的所有异常

使用标准python logging api记录pyqt4应用程序中的所有异常的最佳方法是什么?

我尝试在try中包装exec_(),除了块,并记录异常,但它只记录应用程序初始化的异常.

作为临时解决方案,我在try中包含了最重要的方法,除了块,但这不是唯一的方法.

python logging pyqt

11
推荐指数
1
解决办法
2915
查看次数

PyQt 事件循环和 ipython 中的异常

我有一个显示一些小部件和按钮的 PyQt 程序。

我希望程序作为独立的 python 实例运行,或者在 ipython 环境中运行。在这种情况下,我在 Jupyter 控制台中使用以下魔术命令(以前我必须在启动 ipython qtconsole 时使用 --gui=qt)

%pylab qt
Run Code Online (Sandbox Code Playgroud)

为了有一个双向工作的程序,我的主模块有以下几行:

APP = QtGui.Qapplication.instance() # retrieves the ipython qt application if any
if APP is None:
    APP = QtGui.QApplication(["foo"]) # create one if standalone execution

if __name__=='__main__':
    APP.exec_() # Launch the event loop here in standalone mode 
Run Code Online (Sandbox Code Playgroud)

这是我的问题:事件循环生成的异常很难被用户检测到,因为它们会在后台控制台中弹出。我想捕获事件循环中发生的任何异常,并显示警告(例如在 QMainWindow 状态栏中,让用户知道发生了异常)。

我尝试了几种策略,但 PyQt 和 Ipython 的内部机制之间似乎存在阴谋,使这成为不可能:

python qt ipython pyqt4 qtconsole

4
推荐指数
1
解决办法
1052
查看次数

标签 统计

python ×2

ipython ×1

logging ×1

pyqt ×1

pyqt4 ×1

qt ×1

qtconsole ×1