/** * @file ConsoleOutputWidget.h * @brief 统一输出服务,采用了singleton模式 * @date 2015-1-18 * @author: aiya */ #pragma once #include #include enum Priority { PAI_FATAL = 1 << 4, PAI_ERROR = 1 << 3, PAI_WARN = 1 << 2, PAI_INFO = 1 << 1, PAI_DEBUG = 1 << 0, PAI_BASE = 1, PAI_FATAL_UP = PAI_FATAL, PAI_ERROR_UP = PAI_ERROR | PAI_FATAL_UP, PAI_WARN_UP = PAI_WARN | PAI_ERROR_UP, PAI_INFO_UP = PAI_INFO | PAI_WARN_UP, PAI_DEBUG_UP = PAI_DEBUG | PAI_INFO_UP, PAI_ALL = PAI_DEBUG_UP, PAI_DEFAULT = PAI_INFO_UP, }; /** * @class ConsoleOutputWidget * @brief 统一输出服务,在界面输出的同时,调用了底层的日志写出程序 * @useage AppendConsole(PAI_ERROR,"测试输出"); AppendConsole(PAI_INFO,"测试输出"); * @date 2015-1-18 * @author: aiya */ class ConsoleOutputWidget:public QDockWidget { Q_OBJECT public: ConsoleOutputWidget(const QString &title, QWidget *parent = 0, Qt::WindowFlags flags = 0); ~ConsoleOutputWidget(); /** * @function AppendConsole * @brief 输出日志 * @param priority 日志输出级别 * @param output 要输出的日志内容 */ void AppendConsole(QColor c,const QString &output); private: QTextEdit * Console; }; extern ConsoleOutputWidget* ConsoleOutService();