40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
from QT import QtWidgets, QtCore, QT
|
|
import logging
|
|
|
|
class Log_Handler (logging.Handler) :
|
|
|
|
def __init__(self, widget) :
|
|
super ().__init__ ()
|
|
self._widget = widget
|
|
# end __init__
|
|
|
|
def emit (self, record) :
|
|
msg = self.format (record)
|
|
self._widget.append_log.emit (msg)
|
|
# end def emit
|
|
|
|
# end class Log_Handler
|
|
|
|
class Log_View (QtWidgets.QTextEdit) :
|
|
|
|
append_log = QtCore.Signal (str)
|
|
|
|
def __init__ (self, * args, ** kw) :
|
|
super ().__init__ (* args, ** kw)
|
|
self.setReadOnly (True)
|
|
self.append_log.connect (self.append)
|
|
# end def __init__
|
|
|
|
def save_settings (self, settings) :
|
|
settings.beginGroup ("log-view")
|
|
settings.setValue ("geometry", self.saveGeometry ())
|
|
settings.endGroup ()
|
|
# end def save_settings
|
|
|
|
def restore_settings (self, settings) :
|
|
settings.beginGroup ("log-view")
|
|
self.restoreGeometry (settings.value ("geometry" ))
|
|
settings.endGroup ()
|
|
# end def restore_settings
|
|
|
|
# end class Log_View |