小编pau*_*ite的帖子

PyQt:从GUI向线程发送信息

我的HMI由2个按钮组成:启动和停止,还有一个字段QStatusBar,用于将信息从线程打印到GUI.当我"启动"时,我启动一个可以用Stop按钮中断的线程.我想要做的是在线程中的某个点打开一个弹出窗口,以便在线程暂停时为用户提供选择.

from PyQt4 import QtCore, QtGui
import sys
import os
import time
from PyQt4.QtGui import QApplication, QDialog, QListWidgetItem, QListWidget, QIcon
from test_bench_tool2 import Ui_MainWindow
from popup import Ui_popup

"""Class poppup window(continue/quit)"""
class MyPopup(QtGui.QDialog):
    def __init__(self,type):
        super(MyPopup, self).__init__()
        self.res = 0
        self.type=type
        self.ui = Ui_popup()
        self.ui.setupUi(self)
        QtCore.QObject.connect(self.ui.Quit,QtCore.SIGNAL("clicked()"),self.showDialogstop)
       QtCore.QObject.connect(self.ui.Continue,QtCore.SIGNAL("clicked()"),self.showDialogcontinue)

    def showDialogcontinue(self):
        self.res=1
        self.close()
    def showDialogstop(self):
        self.res=0
        self.close()


class MyThread(QtCore.QThread):
    Statuschanged = QtCore.pyqtSignal(str)
    popupmodechanged = QtCore.pyqtSignal(str)
    def __init__(self, parent=None):
        super(MyThread, self).__init__(parent=parent)
        self.Status_auto = ''
        self.dialog = MyPopup('toto')
        self.Status_auto +=''
        self.popup=''
        self.answer=''

    def run(self): …
Run Code Online (Sandbox Code Playgroud)

python queue user-interface multithreading pyqt

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

标签 统计

multithreading ×1

pyqt ×1

python ×1

queue ×1

user-interface ×1