У меня это основное приложение работает. Он создает новый поток и запускает его. Затем он использует сигналы для связи в основной поток, чтобы что-то еще произошло.Общайтесь с главной темой приложения для отдельного QThread
Мой вопрос: как передать данные из основного потока в новый поток, который был создан, эта часть для меня действительно не имеет смысла. Или есть другой способ, чтобы делать потоки взад и вперед. По сути, основной поток и новый поток будут работать в течение всего срока службы приложения, поэтому им нужно общаться туда и обратно.
В качестве заметки Я веб-разработчик, поэтому родные приложения для меня новы. Также я до сих пор новичок в 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()