title: Print out Python console output to Qtextedit
body: <p>I have the output like this, when I press the button:</p>
  <blockquote>
  <p>['VERSION', 'ROMMON', 'HOSTNAME', 'UPTIME', 'RUNNING_IMAGE',
  'HARDWARE', 'SERIAL', 'CONFIG_REGISTER']</p>
  <p>['12.2(55)SE7', 'Bootstrap', 'Revo-Solusindo-01', '1 hour, 27
  minutes', 'c2960s-universalk9-mz.122-55.SE7.bin',
  ['WS-C2960S-24PD-L'], ['FOC1644Z129'], '0xF'] Write 1 records</p>
  <p>['FAN', 'TEMPERATURE', 'TEMPERATURE_VALUE', 'TEMPERATURE_STATE',
  'YELLOW_THRESHOLD', 'RED_THRESHOLD', 'POWER', 'RPS']</p>
  <p>['OK', 'OK', '33', 'GREEN', '54', '64', '', ''] Write 1 records</p>
  <p>['TOTAL', 'FFREE']</p>
  <p>['57931776', '29178368']</p>
  <p>['524288', '523212'] Write 2 records</p>
  <p>['MEMTYPE', 'HEAD', 'TOTAL', 'USED', 'FREE', 'LOW', 'LARGE']</p>
  <p>['Processor', '2BA9598', '73910760', '26908308', '47002452',
  '45367928', '30211716']</p>
  <p>['      I/O', '6200000', '14680064', '12406764', '2273300', '2273300',
  '2273024']</p>
  <p>['Driver te', '1A00000', '1048576', '44', '1048532', '1048532',
  '1048532'] Write 3 records</p>
  <p>['CPU_5_SEC', 'CPU_1_MIN', 'CPU_5_MIN']</p>
  <p>['10', '10', '9'] Write 1 records</p>
  </blockquote>
  <p>How can I print the output of the background process to Qtextedit?</p>
  <p><strong>My code:</strong></p>
  <pre><code>import sys
  from PyQt4 import QtGui, QtCore
  import jtextfsm as textfsm
  
  class Window(QtGui.QMainWindow):
      def __init__(self):
          super(Window, self).__init__()
          self.setGeometry(50, 50, 500, 300)
          self.setWindowTitle(&quot;PyQT tuts!&quot;)
          self.setWindowIcon(QtGui.QIcon('pythonlogo.png'))
          self.home()
  
      def home(self):
          btn = QtGui.QPushButton(&quot;Generate&quot;, self)
          btn.clicked.connect(self.TextFSM)
          btn.resize(100, 50)
          btn.move(50, 50)
  
          process  = QtGui.QTextEdit(self)
          process.moveCursor(QtGui.QTextCursor.Start)
          process.ensureCursorVisible()
          process.setLineWrapColumnOrWidth(500)
          process.setLineWrapMode(QtGui.QTextEdit.FixedPixelWidth)
          process.setFixedWidth(400)
          process.setFixedHeight(150)
          process.move(50,100)
  
          self.show()
  
      def TextFSM(self):
  
          nameFile = 'Switch'
  
          try:
              input_file = open(nameFile + '.txt', encoding='utf-8')  # show version
              raw_text_data = input_file.read()
              input_file.close()
  
              input_file2 = open(nameFile + '.txt', encoding='utf-8')  # show env
              raw_text_data2 = input_file2.read()
              input_file2.close()
  
              input_file3 = open(nameFile + '.txt', encoding='utf-8')  # show flash
              raw_text_data3 = input_file3.read()
              input_file3.close()
  
              input_file4 = open(nameFile + '.txt', encoding='utf-8')  # show memory statistic
              raw_text_data4 = input_file4.read()
              input_file4.close()
  
              input_file5 = open(nameFile + '.txt', encoding='utf-8')  # show process cpu
              raw_text_data5 = input_file5.read()
              input_file5.close()
  
              template = open(&quot;show-version.textfsm&quot;)  # show version
              re_table = textfsm.TextFSM(template)
              fsm_results = re_table.ParseText(raw_text_data)
  
              template2 = open(&quot;show-env.textfsm&quot;)  # show env
              re_table2 = textfsm.TextFSM(template2)
              fsm_results2 = re_table2.ParseText(raw_text_data2)
  
              template3 = open(&quot;show-flash.textfsm&quot;)  # show flash
              re_table3 = textfsm.TextFSM(template3)
              fsm_results3 = re_table3.ParseText(raw_text_data3)
  
              template4 = open(&quot;show-memory-statistic.textfsm&quot;)  # show memory statistic
              re_table4 = textfsm.TextFSM(template4)
              fsm_results4 = re_table4.ParseText(raw_text_data4)
  
              template5 = open(&quot;show-process-cpu.textfsm&quot;)  # show process cpu
              re_table5 = textfsm.TextFSM(template5)
              fsm_results5 = re_table5.ParseText(raw_text_data5)
  
              outfile_name = open(nameFile + &quot;-show-version.csv&quot;, &quot;w+&quot;)  # show version
              outfile = outfile_name
  
              outfile_name2 = open(nameFile + &quot;-show-env.csv&quot;, &quot;w+&quot;)  # show env
              outfile2 = outfile_name2
  
              outfile_name3 = open(nameFile + &quot;-show-flash.csv&quot;, &quot;w+&quot;)  # show flash
              outfile3 = outfile_name3
  
              outfile_name4 = open(nameFile + &quot;-show-memory-statistic.csv&quot;, &quot;w+&quot;)  # show memory statistic
              outfile4 = outfile_name4
  
              outfile_name5 = open(nameFile + &quot;-show-process-cpu.csv&quot;, &quot;w+&quot;)  # show process cpu
              outfile5 = outfile_name5
  
              print(re_table.header)  # show version
              for s in re_table.header:
                  outfile.write(&quot;%s;&quot; % s)
              outfile.write(&quot;\n&quot;)
  
              counter = 0
              for row in fsm_results:  # show version
                  print(row)
                  for s in row:
                      outfile.write(&quot;%s;&quot; % s)
                  outfile.write(&quot;\n&quot;)
                  counter += 1
              print(&quot;Write %d records&quot; % counter)
  
              print(re_table2.header)  # show env
              for s in re_table2.header:
                  outfile2.write(&quot;%s;&quot; % s)
              outfile2.write(&quot;\n&quot;)
  
              counter = 0
              for row in fsm_results2:  # show env
                  print(row)
                  for s in row:
                      outfile2.write(&quot;%s;&quot; % s)
                  outfile2.write(&quot;\n&quot;)
                  counter += 1
              print(&quot;Write %d records&quot; % counter)
  
              print(re_table3.header)  # show flash
              for s in re_table3.header:
                  outfile3.write(&quot;%s;&quot; % s)
              outfile3.write(&quot;\n&quot;)
  
              counter = 0
              for row in fsm_results3:  # show flash
                  print(row)
                  for s in row:
                      outfile3.write(&quot;%s;&quot; % s)
                  outfile3.write(&quot;\n&quot;)
                  counter += 1
              print(&quot;Write %d records&quot; % counter)
  
              print(re_table4.header)  # show memory statistics
              for s in re_table4.header:
                  outfile4.write(&quot;%s;&quot; % s)
              outfile4.write(&quot;\n&quot;)
  
              counter = 0
              for row in fsm_results4:  # show memory statistics
                  print(row)
                  for s in row:
                      outfile4.write(&quot;%s;&quot; % s)
                  outfile4.write(&quot;\n&quot;)
                  counter += 1
              print(&quot;Write %d records&quot; % counter)
  
              print(re_table5.header)  # show process cpu
              for s in re_table5.header:
                  outfile5.write(&quot;%s;&quot; % s)
              outfile5.write(&quot;\n&quot;)
  
              counter = 0
              for row in fsm_results5:  # show process cpu
                  print(row)
                  for s in row:
                      outfile5.write(&quot;%s;&quot; % s)
                  outfile5.write(&quot;\n&quot;)
                  counter += 1
              print(&quot;Write %d records&quot; % counter)
          except IOError:
              print(&quot;Error: There Have File does not appear to exist.&quot;)
              QtGui.QMessageBox.question(self, 'Warning', &quot;ERROR:Please check you're '.txt' file and TextFSM File.&quot;)
  
  
  def run():
      app = QtGui.QApplication(sys.argv)
      GUI = Window()
      sys.exit(app.exec_())
  
  
  run()
  </code></pre>