PyQt Qthread 输出到textBrowser,该如何处理

PyQt Qthread 输出到textBrowser
我的main()程序已经写好,输出大部分是print 输出. 
我现在想使用PyQt 的Qthread, 当点击开始按钮时,main()执行过程中的信息实时输出到textBrowser ,

请问如何connect? 

在网上找到一个例子,但我还是转不过弯来实现我想要的功能. 麻烦使用过的指点下?谢谢.

import sys
from PyQt4 import QtGui, QtCore
import time
import random
 
 
class MyThread(QtCore.QThread):
    trigger = QtCore.pyqtSignal(int)
 
    def __init__(self, parent=None):
        super(MyThread, self).__init__(parent)
 
    def setup(self, thread_no):
        self.thread_no = thread_no
 
    def run(self):
        time.sleep(random.random()*5)  # random sleep to imitate working
        self.trigger.emit(self.thread_no)
 
 
class Main(QtGui.QMainWindow):
    def __init__(self, parent=None):
        super(Main, self).__init__(parent)
        self.text_area = QtGui.QTextBrowser()
        self.thread_button = QtGui.QPushButton('Start threads')
        self.thread_button.clicked.connect(self.start_threads)
 
        central_widget = QtGui.QWidget()
        central_layout = QtGui.QHBoxLayout()
        central_layout.addWidget(self.text_area)
        central_layout.addWidget(self.thread_button)
        central_widget.setLayout(central_layout)
        self.setCentralWidget(central_widget)
 
    def start_threads(self):
        self.threads = []              # this will keep a reference to threads
        for i in range(10):
            thread = MyThread(self)    # create a thread
            thread.trigger.connect(self.update_text)  # connect to it's signal
            thread.setup(i)            # just setting up a parameter
            thread.start()             # start the thread
            self.threads.append(thread) # keep a reference
 
    def update_text(self, thread_no):
        self.text_area.append('thread # %d finished' % thread_no)
 
if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
 
    mainwindow = Main()