Projekt

Obecné

Profil

Stáhnout (789 Bajtů) Statistiky
| Větev: | Tag: | Revize:
1
import logging
2

    
3
from PyQt5.QtCore import pyqtSignal, QObject
4
from PyQt5.QtWidgets import QPlainTextEdit
5

    
6

    
7
class LoggerView(logging.Handler, QObject):
8
    append = pyqtSignal(str)
9

    
10
    def __init__(self, parent):
11
        super().__init__()
12
        super(QObject, self).__init__()
13

    
14
        self.widget = QPlainTextEdit(parent)
15
        self.widget.setReadOnly(True)
16
        self.widget.setFixedHeight(120)
17
        self.append.connect(
18
            lambda msg: self.appendMessage(msg)
19
        )
20

    
21
    def emit(self, record):
22
        msg = self.format(record)
23
        self.append.emit(msg)
24

    
25
    def appendMessage(self, msg):
26
        self.widget.appendPlainText(msg)
27
        self.widget.verticalScrollBar().setValue(self.widget.verticalScrollBar().maximum())
28

    
29
    def write(self, m):
30
        pass
(4-4/6)