PyQt 5 에서 textBrowser 가 print 문 구 를 출력 하 는 간단 한 방법 을 자세히 설명 합 니 다.

python 프로그램 을 개발 하여 빅 데 이 터 를 처리 할 때 print 문 구 를 사용 하여 출력 결 과 를 보 는 것 이 빠 질 수 없습니다.데 이 터 를 장시간 처리 할 때 print 출력 으로 진행 상황 을 처리 합 니 다.PyQt 5 를 사용 하여 UI 인터페이스 를 개발 한 후,본능적으로 자신 이 디 버 깅 한 py 코드 의 print 를 UI 의 textBrowser 에 출력 하려 고 합 니 다.CSDN 에서 많은 결 과 를 찾 았 는데,일반적으로 다 중 스 레 드 를 사용한다.나 는 다 중 스 레 드 에 대한 연구 가 많 지 않 아 변통 방법 을 채택 하여 효과 가 매우 좋다.
Ui 인터페이스 프로그램 에서(Uistartaml.py)에 textBrowser 를 설정 하여 프로그램 출력 정 보 를 표시 하고 코드(def printf)를 정의 합 니 다.나중에.py 프로그램 에서 print 를 사용 하 는 곳 을 ui.printf()로 바 꾸 면 됩 니 다.

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'D:\aml\startaml.ui'
# Created by: PyQt5 UI code generator 5.11.3
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):
  def setupUi(self, MainWindow):
    MainWindow.setObjectName("MainWindow")
    MainWindow.setEnabled(True)
    MainWindow.resize(490, 390)
    MainWindow.setMaximumSize(QtCore.QSize(490, 390))
    font = QtGui.QFont()
    #.......
    #........          ....
    #........
    self.textBrowser = QtWidgets.QTextBrowser(self.centralWidget)
    self.textBrowser.setGeometry(QtCore.QRect(10, 109, 471, 221))
    self.textBrowser.setMaximumSize(QtCore.QSize(16777215, 16777215))
    font = QtGui.QFont()
    font.setFamily("  ")
    self.textBrowser.setFont(font)
    self.textBrowser.setObjectName("textBrowser")
    #..........    

 def printf(self,mypstr):
   ###
       print  ,  c   printf 
   Mypstr:        
   ###
  self.textBrowser.append(mypstr)  #            
  self.cursor=self.tetxBrowser.textCursor()
  self.tetxBrowser.moveCursor(self.cursor.End) #      ,          
  QtWidgets.QApplication.processEvents() #        ,     
다른 py 프로그램 은 class Ui 를 어떻게 호출 합 니까?MainWindow(object)클래스 는 다음 과 같 습 니 다.

# -*- coding: utf-8 -*-

"""
Module implementing MainWindow.
  ui     ,          .py  。 runget.py
"""
from PyQt5 import QtWidgets
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtWidgets import QMainWindow
from Ui_startaml import Ui_MainWindow
import sys
sys.path.append('src')
from runget import run_get  #        ,    print      


class MainWindow(QMainWindow, Ui_MainWindow):
  """
  Class documentation goes here.
  """
  def __init__(self, parent=None):
    """
    Constructor
    @param parent reference to the parent widget
    @type QWidget
    """
    super(MainWindow,self).__init__(parent)
    self.setupUi(self)
    self.graphicsPsw.mousePressEvent=self.chpsw_clicked # mouse       。
    
  def chpsw_clicked(self, e):
    """
    change psw
    """
    print('change psw record')
 
  def _runget(self,ui):  #         py  。
    run_get(ui)  #  runget.py          。

  @pyqtSlot()
  def on_pushBut_get_clicked(self):
    """
    Slot documentation goes here.
         ,          
    """
    # TODO: not implemented yet
    self.printf("
, !") self._runget(ui) # ui # ........... ..... if __name__ == "__main__": # Ui , ui , OK app = QtWidgets.QApplication(sys.argv) app.aboutToQuit.connect(app.deleteLater) ui = MainWindow() ui.show() sys.exit(app.exec_())
run_get(ui)은 단독 디 버 깅 에 성공 한 runget.py 프로그램의 주 입구 입 니 다.다음 과 같이 간소화 합 니 다.

#!C:\\Anaconda3\\python.exe
# -*- coding: utf-8 -*-
runget.py 
"""
Created on Wed Mar 13 15:32:50 2019
@author: yuce_hz 2019 3 11 ,runget.py
""""
import re
import os
import time
import requests
from requests.exceptions import RequestException
from lxml import etree
#..........
#......      ....
#........
def run_get(ui):
  #1    ,     
  glob_var_chrome() #
  #2.  
  if (login_nsso(gl_url,gl_user,gl_pass)!='OK'):
    #print("       ,      ,       ,    。") #     print  
    ui.printf("       ,      ,       ,    。"  #     ui     printf
    browser.quit()
    
     #............    .........
     #.....................

if __name__=='__main__':
  run_get()  #           ui  , run_get(ui),   UI      。
PyQt 5 에서 textBrowser 가 print 문 구 를 출력 하 는 간단 한 방법 을 자세히 설명 하 는 이 글 은 여기까지 입 니 다.더 많은 PyQt 5 textBrowser 가 print 내용 을 표시 하 는 것 에 대해 서 는 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기