def emit(self, record):
message = self.format(record)
# Replace all "<>" characters (invalid for markup styles) with html entities.
message = message.replace("<", "<").replace(">", ">")
from gi.repository import Gtk as gtk
if record.levelno <= 20:
message_type = gtk.MessageType.INFO
message_title = "Information"
elif record.levelno <= 30:
message_type = gtk.MessageType.WARNING
message_title = "Warning"
else:
message_type = gtk.MessageType.ERROR
message_title = "Error"
window = gtk.MessageDialog(self.parent_window, type=message_type,
buttons=gtk.ButtonsType.OK)
window.set_markup(str(message))
window.set_title(message_title)
# make sure that the window gets destroyed later
for signal in ("close", "response"):
window.connect(signal, lambda dialog, *args: dialog.destroy())
# accept "destroy" action -> remove window
window.connect("destroy", lambda *args: True)
# show the window, but don't wait for a response
window.show()
评论列表
文章目录