最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解PyQt5中textBrowser顯示print語句輸出的簡單方法

 更新時(shí)間:2020年08月07日 12:25:59   作者:weixin_43097265  
這篇文章主要介紹了詳解PyQt5中textBrowser顯示print語句輸出的簡單方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

開發(fā)python程序處理大數(shù)據(jù)量的時(shí)候,少不了使用print語句看看輸出結(jié)果;長時(shí)間處理數(shù)據(jù)時(shí)用print輸出處理進(jìn)展情況。使用PyQt5開發(fā)了UI界面后,本能地想讓已自己調(diào)試好的py代碼中的print輸出到UI的textBrowser中顯示出來。在CSDN上查了不少結(jié)果,一般都是使用多線程。我對多線程研究不多,就采用了變通辦法,效果還挺好。

在Ui界面程序(Ui_startaml.py)中設(shè)置textBrowser用于顯示程序輸出信息,并自己定義代碼(def printf ),以后將.py程序中凡是用print的地方改用ui.printf()調(diào)用就OK.

# -*- 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()
    #.......
    #........中間自動(dòng)生成代碼省去....
    #........
    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函數(shù),借用c語言 printf 
   Mypstr:是待顯示的字符串
   ###
  self.textBrowser.append(mypstr)  #在指定的區(qū)域顯示提示信息
  self.cursor=self.tetxBrowser.textCursor()
  self.tetxBrowser.moveCursor(self.cursor.End) #光標(biāo)移到最后,這樣就會(huì)自動(dòng)顯示出來
  QtWidgets.QApplication.processEvents() #一定加上這個(gè)功能,不然有卡頓

其它py程序如何去調(diào)用class Ui_MainWindow(object) 類呢,比如:

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

"""
Module implementing MainWindow.
這是ui界面主程序,它將調(diào)用已調(diào)試成功的.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  #單獨(dú)調(diào)試成功代碼,可將正常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 #點(diǎn)mouse調(diào)用改密碼功能。
    
  def chpsw_clicked(self, e):
    """
    change psw
    """
    print('change psw record')
 
  def _runget(self,ui):  #此處調(diào)用單獨(dú)開發(fā)的py代碼。
    run_get(ui)  #是 runget.py 中主程序的入口方法。

  @pyqtSlot()
  def on_pushBut_get_clicked(self):
    """
    Slot documentation goes here.
    這是槽函數(shù),調(diào)用事先開發(fā)好的模塊
    """
    # TODO: not implemented yet
    self.printf("\n自動(dòng)捕獲信息分析數(shù)據(jù),您等著瞧!")
    self._runget(ui)   #傳入ui實(shí)例是關(guān)鍵
  # ...........省略非相關(guān)代碼.....

if __name__ == "__main__":
#這是Ui界面主程序,注意ui這個(gè)實(shí)例化對象,就OK了
  app = QtWidgets.QApplication(sys.argv)
  app.aboutToQuit.connect(app.deleteLater)
  ui = MainWindow()
  ui.show()
  sys.exit(app.exec_())

run_get(ui)是單獨(dú)的調(diào)試成功的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
#..........
#......省略無關(guān)代碼....
#........
def run_get(ui):
  #1全局變量,并打開設(shè)置
  glob_var_chrome() #
  #2.聯(lián)網(wǎng)
  if (login_nsso(gl_url,gl_user,gl_pass)!='OK'):
    #print("登錄系統(tǒng)不成功,無法進(jìn)行下去,檢查網(wǎng)絡(luò)正常后,可再運(yùn)行。") #這是正常的print代碼
    ui.printf("登錄系統(tǒng)不成功,無法進(jìn)行下去,檢查網(wǎng)絡(luò)正常后,可再運(yùn)行。"  #這是知適應(yīng)ui界面輸出的printf
    browser.quit()
    
     #............簡化代碼.........
     #.....................

if __name__=='__main__':
  run_get()  #單獨(dú)運(yùn)行的調(diào)用時(shí)不用傳ui參數(shù), run_get(ui),是應(yīng)對UI界面來調(diào)用的。

到此這篇關(guān)于詳解PyQt5中textBrowser顯示print語句輸出的簡單方法的文章就介紹到這了,更多相關(guān)PyQt5 textBrowser顯示print內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python讀寫/追加excel文件Demo分享

    Python讀寫/追加excel文件Demo分享

    今天小編就為大家分享一篇Python讀寫/追加excel文件Demo,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 使用Python的PIL庫給圖像進(jìn)行過濾

    使用Python的PIL庫給圖像進(jìn)行過濾

    PIL是一個(gè)用于圖像處理的Python庫,它提供了各種功能,包括加載、保存、編輯和處理圖像,你可以使用PIL庫進(jìn)行圖像縮放、裁剪、旋轉(zhuǎn)、濾鏡應(yīng)用等操作,本文將介紹如何使用Python的PIL庫給圖像進(jìn)行過濾,需要的朋友可以參考下
    2023-08-08
  • Flask SQLAlchemy一對一,一對多的使用方法實(shí)踐

    Flask SQLAlchemy一對一,一對多的使用方法實(shí)踐

    Flask-SQLAlchemy一對一,一對多的使用方法實(shí)踐,需要的朋友可以參考下
    2013-02-02
  • python輸入中文的實(shí)例方法

    python輸入中文的實(shí)例方法

    在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于python輸入中文的實(shí)例方法,有需要的朋友們可以學(xué)習(xí)參考下。
    2020-09-09
  • Python read函數(shù)按字節(jié)(字符)讀取文件的實(shí)現(xiàn)

    Python read函數(shù)按字節(jié)(字符)讀取文件的實(shí)現(xiàn)

    這篇文章主要介紹了Python read函數(shù)按字節(jié)(字符)讀取文件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Django框架實(shí)現(xiàn)逆向解析url的方法

    Django框架實(shí)現(xiàn)逆向解析url的方法

    這篇文章主要介紹了Django框架實(shí)現(xiàn)逆向解析url的方法,結(jié)合實(shí)例形式分析了Django逆向解析URL的原理、步驟、相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-07-07
  • Python利用matplotlib模塊數(shù)據(jù)可視化繪制3D圖

    Python利用matplotlib模塊數(shù)據(jù)可視化繪制3D圖

    matplotlib是python最著名的繪圖庫,它提供了一整套和matlab相似的命令A(yù)PI,十分適合交互式地行制圖,下面這篇文章主要給大家介紹了關(guān)于Python利用matplotlib模塊數(shù)據(jù)可視化實(shí)現(xiàn)3D圖的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • Python實(shí)現(xiàn)希爾排序,歸并排序和桶排序的示例代碼

    Python實(shí)現(xiàn)希爾排序,歸并排序和桶排序的示例代碼

    希爾、歸并、快速排序算法可歸為同一類,它們的共同點(diǎn)都是建立在分治思想之上。把大問題分拆成小問題,解決所有小問題后,再合并每一個(gè)小問題的結(jié)果,最終得到對原始問題的解答。本文將介紹這三種算法的實(shí)現(xiàn)代碼,需要的可以參考一下
    2022-04-04
  • 手把手教你如何使python變?yōu)榭蓤?zhí)行文件

    手把手教你如何使python變?yōu)榭蓤?zhí)行文件

    對于exe可執(zhí)行文件,相信大家都不陌生,下面這篇文章主要給大家介紹了關(guān)于如何使python變?yōu)榭蓤?zhí)行文件的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • 詳解Python字典的運(yùn)算

    詳解Python字典的運(yùn)算

    這篇文章主要為大家介紹了Python字典的運(yùn)算 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12

最新評論

三台县| 凯里市| 湟中县| 栾城县| 新乡市| 尼勒克县| 孟津县| 武宣县| 溧阳市| 泰和县| 紫金县| 弥勒县| 沙河市| 宁夏| 临城县| 绥中县| 东乌| 林口县| 富阳市| 专栏| 平邑县| 津南区| 从化市| 彩票| 龙海市| 区。| 凤翔县| 广州市| 佳木斯市| 南澳县| 旬阳县| 兰坪| 呼伦贝尔市| 石泉县| 彰化市| 辽阳市| 上犹县| 甘南县| 通榆县| 太和县| 通化县|