鱼C论坛

 找回密码
 立即注册
查看: 1789|回复: 3

pyqt QtextBrowser中如何让每行的关键字和信息对齐

[复制链接]
发表于 2022-5-20 10:27:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请教大佬,小弟在用pyqt写界面,其中需要日志记录,我采用的是QextBrowser进行记录,日志中有关键字(‘INFO’、‘WARNING’、'ERROR'、‘DEBUG’),信息部分,还有时间部分,我需要的是各个关键字有颜色区分,同时日志中每一行关键字对齐,信息部分对齐,时间部分对齐,这样看起来比较整洁美观,但是一直实现不了对齐,如图,不知道怎么解决。

  1. # -*- coding: utf-8 -*-

  2. import sys
  3. import os
  4. import time

  5. from PyQt4 import QtGui,QtCore
  6. ##from   PyQt4.QtGui import *
  7. ##from   PyQt4.QtCore import *

  8. class Show_LOGfile(QtGui.QDialog):  

  9.     def __init__(self, parent=None):

  10.         super(Show_LOGfile, self).__init__(parent)
  11.                
  12.         self.LOG_browser = QtGui.QTextBrowser()
  13.         self.load_button=QtGui.QPushButton("open")

  14.         self.clear_button=QtGui.QPushButton("delete")
  15.         self.label=QtGui.QLabel("")
  16.         buttonLayout=QtGui.QHBoxLayout()
  17.         buttonLayout.addWidget(self.label)
  18.         buttonLayout.addStretch()
  19.         buttonLayout.addWidget(self.load_button)
  20.         buttonLayout.addWidget(self.clear_button)
  21.         
  22.         layout = QtGui.QGridLayout()
  23.         layout.addLayout(buttonLayout,0, 0)
  24.         layout.addWidget(self.LOG_browser,1, 0)  
  25.         self.setLayout(layout)
  26.         self.resize(840, 700)
  27.         
  28.         self.connect(self.load_button,QtCore.SIGNAL("clicked()"), self.load_file)
  29.         self.connect(self.clear_button,QtCore.SIGNAL("clicked()"), self.clear_file)
  30.         
  31.     def load_file(self):

  32.         m1='WARNING:The speed is too high'
  33.         m2='ERROR:The tyre pressure is low,pleaese stop the car'
  34.         m3='INFO:The Main power is enabled'
  35.         m4='DEBUG:GPS MAP is missed'
  36.         log_message=[m1,m2,m3,m4]

  37.         for log in log_message:
  38.             currentDateTime = QtCore.QDateTime.currentDateTime()
  39.             currentDateStr = currentDateTime.toString("[yyyy.MM.dd hh:mm:ss ddd] ")
  40.             s1=log.split(':')[0]
  41.             s2=log.split(':')[1]
  42.             if s1=='INFO':
  43.                 self.LOG_browser.append("<font color=black size=5 >%s</font><font size=5>%s</font><font color=blue size=5 >%s</font>" % ('INFO:',s2,currentDateStr))
  44.             elif s1=='WARNING':
  45.                 self.LOG_browser.append("<font color=yellow size=5 >%s</font><font size=5>%s</font><font color=blue size=5 >%s</font>" % ('WARNING:',s2,currentDateStr))
  46.             elif s1=='ERROR':
  47.                 self.LOG_browser.append("<font color=red size=5 >%s</font><font size=5>%s</font><font color=blue size=5 >%s</font>" % ('ERROR:',s2,currentDateStr))
  48.             else:
  49.                 self.LOG_browser.append("<font color=brown size=5 >%s</font><font size=5>%s</font><font color=blue size=5 >%s</font>" % ('DEBUG:',s2,currentDateStr))
  50.                
  51.             self.LOG_browser.append("<font color=red size=5 >%s</font><font size=5>%s</font><font color=blue size=5 >%s</font>" % ('','',''))
  52.             self.LOG_browser.moveCursor(QtGui.QTextCursor.End)

  53.         
  54.     def clear_file(self):
  55.         self.LOG_browser.clear()



  56. if __name__ == "__main__":

  57.     app = QtGui.QApplication(sys.argv)
  58.     window = Show_LOGfile()
  59.     window.show()
  60.     sys.exit(app.exec_())
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-5-20 10:28:24 | 显示全部楼层
图片好像贴不了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-20 12:19:55 | 显示全部楼层
本帖最后由 hrpzcf 于 2022-5-20 12:25 编辑

用你的文字生成html后再在QTextBrowser中显示,文字的对齐使用html的办法,比如有边框或者无边框无边框的表格。
或者干脆用用QTableWidget显示数据也可以,QTableWidget的子项QTableWidgetItem也支持字体颜色或者背景颜色的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-20 16:52:10 | 显示全部楼层
hrpzcf 发表于 2022-5-20 12:19
用你的文字生成html后再在QTextBrowser中显示,文字的对齐使用html的办法,比如有边框或者无边框无边框的表 ...

好的,多谢了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-29 04:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表