【发布时间】:2014-03-27 12:38:35
【问题描述】:
我知道有几个关于这个主题的问题。我已经浏览了其中的大多数,但仍然无法弄清楚我为什么会遇到这个问题。
基本上,我想做的是:使用QThread 类显示繁忙指示进度条(即range (0,0))。
我正在使用mysignal = QtCore.pyqtSignal() 创建我的信号。之后我使用mysignal.emit() 来传输该信号。该信号用于通知主线程停止进度条动作。
这就是我将该信号连接到我的功能之一mysignal.connect(myfunction) 的方式。但是每当我运行我的脚本时,我都会收到此错误消息。
AttributeError: 'PyQt4.QtCore.pyqtSignal' object has no attribute 'connect'
我的问题可能是什么原因造成的?
仅供参考:我正在使用 Windows 8.1 和 python 2.7.5
编辑:
下面是我的代码的简化版本:
class Main(QtGui.QMainWindow):
.......
.......
self.progressBar = QtGui.QProgressBar(self)
self.progressBar.setRange(0,1)
button = QtGui.QPushButton('button')
button.clicked.connect(self.onStart())
def onStart(self):
self.progressBar.setRange(0,0)
self.LoadPage = LoadingThread()
self.LoadPage.taskFinished.connect(self.onFinished)
self.LoadPage.Load()
def onFinished(self):
self.progressBar.setRange(0,1)
class LoadingThread(QtCore.QThread):
def __init__(self):
QtCore.QThread.__init__(self)
self.taskFinished = QtCore.pyqtSignal()
def Load(self):
#My stuffs here (to be executed duing the progress bar busy)
time.sleep(5)
self.taskFinished.emit()
【问题讨论】:
标签: python python-2.7 signals pyqt4 signals-slots