pyqt+核心.互动开始无休止的循环

2024-04-25 22:24:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让我的pyqt软件的用户直接访问python编程语言,这样他就可以从内部操作软件(风险自负)

我试图使用code.interact,但它进入了一个无限循环QCoreApplication::exec: The event loop is already running。只执行code.interact工作,PyQt4中的软件也工作。很明显代码.交互不知何故,他试图开始一个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_()

顺便说一句,我在用KDE管理Debian Jessie


Tags: 代码importselfloop软件defcodebutton

热门问题