马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
在平台开发中,用户界面(UI)的友好性和交互性直接关系到应用步调的用户体验和满意度。一个高效、直观的信息展示机制,不光可以或许提升用户的利用服从,还能在关键时间为用户提供须要的引导和反馈。为了满意这一需求,我们特别计划并开发了FITKCompMessageWidget信息输出组件。
1 组件功能
信息输出组件是一个UI组件,是一个独立的QWidget对象,用于软件运行时的信息输出,包罗通例信息、告诫信息、错误信息、以及其他信息(求解过程信息输出)等, 同时具备右键菜单 功能,可以实现信息窗口的清空与生存文本文件等利用。
2 组件依靠
该组件依靠平台核心层中的FITKAppFramework与FITKCore两个模块。
3 组件重要类
| 类名
| 地点文件
|
| | ConsoleComponent
| FITKConsoleComponent
| 组件接口类,用于组件加载与组件管理,实现信息窗口的管理。
| | FITKConsole
| FITKConsole
| 信息输出窗口UI与功能实现,创建时主动关联FITKAppFramework中的outputMessageSig信号,实现信息主动输出。
| 4 组件利用示例
该组件的利用可以概括分为三部门:组件加载、创建窗口、发送消息。必要注意,在同一个应用中的多个信息窗口将会体现雷同的信息,因此一样平常来说一个应用中只创建一个信息输出窗口。组件加载通过注册到AppFramework的组件天生器(FITKComponentFactory)的子类对象实现。示例 代码如下: - 1.#include “FITKConsoleComponent.h”
- 2.class MyComponentFactory : public AppFrame::FITKComponentFactory
- 3.{
- 4.public:
- 5. MyComponentFactory () = default;
- 6. ~MyComponentFactory () = default;
- 7. QList<AppFrame::FITKComponentInterface *> createComponents() override
- 8. {
- 9. QList<AppFrame::FITKComponentInterface *> comps;
- 10. //创建信息窗口组件
- 11. comps << new Comp::ConsoleComponent();
- 12. // 创建其他组件
- 13. return comps;
- 14. }
- 15.};
复制代码完成组件创建之后,在主界面初始化的时间必要创建窗体,并嵌入到必要的位置上,创建窗体的通过组件的getWidget函数可以实现,而组件则是从应用步调架构中的组件管理器查询得到,示例 代码如下: - 1.//获取组件
- 2. auto conWidgetComp = FITKAPP->getComponents()->getComponentByName("MessageConsole");
- 3.//强制类型转换,判断类型是否正确
- 4.Comp::ConsoleComponent *conWidgetInter = dynamic_cast<Comp::ConsoleComponent *>(conWidgetComp);
- 5. if (nullptr == conWidgetInter) return;
- 6.QWidget* messWidget = conWidgetInter->getWidget();
- 7.//将messWidget放置到需要的位置
- 8.//do something else
复制代码当必要向信息输出窗口输出信息时,可直接通过应用步调框架中的FITKMessage提供的接口输出。这写接口将信号封装,可以或许包管线程 安全。示例代码如下: - 1.#include "FITKAppFramework/FITKMessage.h"
- 2.//正常输出,绿色字体
- 3.AppFrame::FITKMessageNormal("normal message");
- 4.//警告输出,黄色字体
- 5.AppFrame::FITKMessageWarning("warning message");
- 6.//错误输出,红色字体
- 7.AppFrame::FITKMessageError("error message");
- 8.//信息输出,黑色字体
- 9.AppFrame::FITKMessageInfo("message");
复制代码 |