0
我有這個基本的應用程序工作。它創建一個新的線程,並啓動它。然後它使用信號與主線程進行通信以發生其他事情。從主應用程序線程通信到單獨QThread
我的問題是如何將數據從主線程傳遞到創建的新線程,這部分對我來說確實沒有意義。或者還有另外一種方法可以來回穿梭。本質上,主線程和新線程將在應用程序的整個生命週期中運行,因此它們需要來回交流。
作爲一個說明我是一個Web開發人員,所以本機應用程序是我的新手。此外,我仍然是新的qt
和pyqt
所以不知道如何做到這一點。
import sys
from PyQt4 import QtGui
from PyQt4.QtCore import QThread, pyqtSignal
class Thread(QThread):
message_recieved = pyqtSignal(object)
def run(self):
self.message_recieved.emit('hello')
class Main(QtGui.QMainWindow):
def __init__(self, parent = None):
QtGui.QMainWindow.__init__(self,parent)
self.initUI()
self.thread = Thread()
self.thread.message_recieved.connect(self.message)
self.thread.start()
def message(self, msg):
print msg
def initUI(self):
self.setGeometry(100, 100, 800, 600)
self.setWindowTitle("Test App")
def main():
app = QtGui.QApplication(sys.argv)
main = Main()
main.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main()