信息输出组件(FITKCompMessageWidget)

[复制链接]
发表于 2026-1-1 18:19:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
在平台开发中,用户界面(UI)的友好性和交互性直接关系到应用步调的用户体验和满意度。一个高效、直观的信息展示机制,不光可以或许提升用户的利用服从,还能在关键时间为用户提供须要的引导和反馈。为了满意这一需求,我们特别计划并开发了FITKCompMessageWidget信息输出组件。
1 组件功能

信息输出组件是一个UI组件,是一个独立的QWidget对象,用于软件运行时的信息输出,包罗通例信息、告诫信息、错误信息、以及其他信息(求解过程信息输出)等, 同时具备右键菜单功能,可以实现信息窗口的清空与生存文本文件等利用。


2 组件依靠

该组件依靠平台核心层中的FITKAppFramework与FITKCore两个模块。

3 组件重要类

                       
类名

                       
                       
地点文件

                       
                       
                       
                       
ConsoleComponent

                       
                       
FITKConsoleComponent

                       
                       
组件接口类,用于组件加载与组件管理,实现信息窗口的管理。

                       
                       
FITKConsole

                       
                       
FITKConsole

                       
                       
信息输出窗口UI与功能实现,创建时主动关联FITKAppFramework中的outputMessageSig信号,实现信息主动输出。

                       
4 组件利用示例

该组件的利用可以概括分为三部门:组件加载、创建窗口、发送消息。必要注意,在同一个应用中的多个信息窗口将会体现雷同的信息,因此一样平常来说一个应用中只创建一个信息输出窗口。组件加载通过注册到AppFramework的组件天生器(FITKComponentFactory)的子类对象实现。示例代码如下:
  1. 1.#include “FITKConsoleComponent.h”
  2. 2.class MyComponentFactory : public AppFrame::FITKComponentFactory
  3. 3.{
  4. 4.public:
  5. 5.    MyComponentFactory () = default;
  6. 6.    ~MyComponentFactory () = default;
  7. 7.    QList<AppFrame::FITKComponentInterface *> createComponents() override
  8. 8.    {
  9. 9.         QList<AppFrame::FITKComponentInterface *> comps;
  10. 10.         //创建信息窗口组件
  11. 11.         comps << new Comp::ConsoleComponent();
  12. 12.         // 创建其他组件
  13. 13.        return comps;
  14. 14.    }
  15. 15.};
复制代码
完成组件创建之后,在主界面初始化的时间必要创建窗体,并嵌入到必要的位置上,创建窗体的通过组件的getWidget函数可以实现,而组件则是从应用步调架构中的组件管理器查询得到,示例代码如下:
  1. 1.//获取组件
  2. 2. auto conWidgetComp = FITKAPP->getComponents()->getComponentByName("MessageConsole"); 
  3. 3.//强制类型转换,判断类型是否正确
  4. 4.Comp::ConsoleComponent *conWidgetInter = dynamic_cast<Comp::ConsoleComponent *>(conWidgetComp);
  5. 5. if (nullptr == conWidgetInter) return;  
  6. 6.QWidget* messWidget = conWidgetInter->getWidget();
  7. 7.//将messWidget放置到需要的位置
  8. 8.//do something else
复制代码
当必要向信息输出窗口输出信息时,可直接通过应用步调框架中的FITKMessage提供的接口输出。这写接口将信号封装,可以或许包管线程安全。示例代码如下:
  1. 1.#include "FITKAppFramework/FITKMessage.h"
  2. 2.//正常输出,绿色字体
  3. 3.AppFrame::FITKMessageNormal("normal message");
  4. 4.//警告输出,黄色字体
  5. 5.AppFrame::FITKMessageWarning("warning message");
  6. 6.//错误输出,红色字体
  7. 7.AppFrame::FITKMessageError("error message");
  8. 8.//信息输出,黑色字体
  9. 9.AppFrame::FITKMessageInfo("message");
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表