【发布时间】:2014-09-25 07:00:16
【问题描述】:
连接到 DXF_Convert 来自主窗口的线程信号并在线程完成后在更新函数中显示消息的正确方法是什么?
我已经完成了,但没有显示消息(虽然线程运行良好):
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from gui import Ui_MainWindow
.
.
.
class MainWindow(QMainWindow, Ui_MainWindow):
.
.
.
def DXF_convert(self):
t = DXF_Convert(self)
t.start()
def PDF_print(self):
t = PDF_Print(self)
t.start()
def update(self, message=''):
QMessageBox.information('Done', message)
self.updateui()
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)
self.connect(PDF_Print(), SIGNAL('Done'), self.update)
self.connect(DXF_Convert(), SIGNAL('Done'), self.update)
class DXF_Convert(QThread):
def __init__(self, parent=None):
super(DXF_Convert, self).__init__(parent)
def run(self):
global un, fl, sq, rv
sp = Spool(un, fl, sq, rv)
sp.dxf_convert('local')
self.emit(SIGNAL('Done'), 'DXF conversion done!')
app = QApplication(sys.argv)
form = MainWindow()
form.show()
app.exec_()
【问题讨论】:
标签: python python-2.7 pyqt qthread