0


信息输出组件(FITKCompMessageWidget)

在平台开发中,用户界面(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");
标签: 开源软件

本文转载自: https://blog.csdn.net/FastCAE/article/details/143323932
版权归原作者 FastCAE2022 所有, 如有侵权,请联系我们删除。

“信息输出组件(FITKCompMessageWidget)”的评论:

还没有评论