pyqt + core.interact启动无限循环

时间:2015-08-27 00:49:45

标签: python qt interactive

我试图向用户提供我的pyqt软件直接访问python编程语言,以便他可以从内部操作软件(由他自己承担风险)

我尝试使用code.interact,但它进入了无限循环打印QCoreApplication::exec: The event loop is already running。仅执行code.interact工作,PyQt4中的软件也可以工作。很明显,code.interact在某种程度上试图启动Qt应用程序并且因为有一个已经有效而崩溃。

如果有人为我自己实现exec循环,那么我是否有任何工作。这是一个代码示例,警告:它进入一个循环,除了查杀之外没有办法阻止它(所以保存你正在做的一切)。

# DANGER: infinite loop
from PyQt4 import QtGui, QtCore
import code

class ConsoleStarter(QtGui.QMainWindow):
    def __init__(self):
        super(ConsoleStarter, self).__init__()
        self.central_widget = QtGui.QWidget()
        self.setCentralWidget(self.central_widget)
        self.layout = QtGui.QGridLayout(self.central_widget)
        self.button = QtGui.QPushButton("Start Interactive Console")
        self.button.clicked.connect(self.code)
        self.layout.addWidget(self.button, 0,0)
        self.show()
    def code(self):
        code.interact()


app = QtGui.QApplication([])
console = ConsoleStarter()

app.exec_()

P.S。我正在用KDE运行Debian Jessie

0 个答案:

没有答案