小编oli*_*che的帖子

将 Pyqt GUI 主应用程序作为单独的非阻塞进程运行

我正在寻找从 python 或 ipython 控制台运行 pyqt GUI 的可能性。

基本上主要的想法是使用 Pyqt GUI 就像使用 matplotlib 绘图或图像一样,您可以在其中将参数从控制台传递给 GUI 以查看数据,继续在控制台中执行操作,或者打开另一个窗口,关闭第一个,在控制台中做更多的事情等等。

我已经使用线程(在单独的线程中运行 pyQT GUI 主应用程序)实现了这个解决方案,并且正如评论中预测的那样,它在几个周期后崩溃了 python 控制台。

这是飞行员代码:

import sys
from PyQt5 import QtWidgets, QtGui, QtCore

class MainWindow(QtWidgets.QWidget):
    def __init__(self):
        # call super class constructor
        super(MainWindow, self).__init__()
        # build the objects one by one
        layout = QtWidgets.QVBoxLayout(self)
        self.pb_load = QtWidgets.QPushButton('Load')
        self.pb_clear= QtWidgets.QPushButton('Clear')
        self.edit = QtWidgets.QTextEdit()
        layout.addWidget(self.edit)
        layout.addWidget(self.pb_load)
        layout.addWidget(self.pb_clear)
        # connect the callbacks to the push-buttons
        self.pb_load.clicked.connect(self.callback_pb_load)
        self.pb_clear.clicked.connect(self.callback_pb_clear)

    def callback_pb_load(self):
        self.edit.append('hello world')
    def callback_pb_clear(self): …
Run Code Online (Sandbox Code Playgroud)

python pyqt pyqt5

5
推荐指数
1
解决办法
3528
查看次数

标签 统计

pyqt ×1

pyqt5 ×1

python ×1