【小白课程】openKylin用户手册原理解析,一招教你学会自定义!

news2025/1/12 23:07:31

openKylin用户手册是详细描述openKylin操作系统的功能和用户界面,让用户了解如何使用该软件的说明书。通过阅读openKylin用户手册,能够更快更好的上手和使用openKylin操作系统。今天就带大家简单了解下openKylin用户手册的实现原理以及如何自定义用户手册内容。

一、用户手册实现原理介绍

1.QtWebkit简介

openKylin操作系统上用户手册的启动、展示、跳转是在QtWebkit基础上实现的。下面我们来简单介绍一下QtWebkit。

QtWebkit模块提供了一个在qt中使用web browser的engine,这使得我们在qt的应用程序中使用万维网上的内容变得很容易, 而且对其网页内容的控制也可以通过native controls实现。

QtWebKit提供用于呈现超文本标记语言(HTML)、可扩展超文本标记语言(XHTML)和可伸缩矢量图形(SVG)文档的工具,这些文档使用级联样式表(CSS)样式,并使用JavaScript编写脚本。

2.用户手册跳转的接口

为了方便用户跳转到对应组件的帮助文档,用户手册提供了接口,使得其他组件调用接口传递参数后,可以直接打开用户手册对应内容,组件通过点击F1和菜单-帮助选项进行调用。

  • DaemonIpcDbus::showGuide

DaemonIpcDbus::showGuide提供了dbus接口,组件只需要传递对应参数调用,手册这边会根据参数,打开用户手册并跳转至对应内容。

3.用户手册运行流程

上面介绍了用户手册跳转接口,下面重点介绍下用户手册运行的大致流程。

  • 首先需要实例化QWebView,开启和禁用部分设置,加载用户手册网页文件。

  • 载入html时发送信号,将QObject对象传给JS,这样JS就能调用QObject的public slots函数

  • web端调用qt接口,获取文档信息和目录结构,动态生成首页应用。

js端调用qt端函数获取信息:

qt端获取手册文件结构,获取首页图标名称和文件夹名称,以及对应的文档路径:

通过获取到的图片名称、文档路径、文件夹名称;加载图标信息,完成首页应用的加载。

openKylin用户手册首页的加载流程大致就如上面所述,但实际还会涉及到Markdown文件的渲染展示,目录和内容的跟随效果;手册目录级的跳转;自动读取文档的更新日期等,这里就不一一介绍啦。

二、用户手册内容自定义

大家系统在集成新组件时,会希望新增组件后,把对应的组件手册内容也自动加入用户手册中,并能够进行跳转;那么这里就给大家介绍一下如何集成自己的手册内容!

1.文件夹结构

需要包含语言文件夹,一个图标;其中文件夹名称和图标名称保持一致,会用于首页图标展示以及用户手册dbus接口调用参数。

2.Markdown文件结构

这里Markdown文档的一级标题会作为首页应用的展示名称

3.修改install文件

将准备好的文件夹,放到用户手册的资源文件下面,当用户手册加载时便会自动读取,进行加载展示在首页。

按照以上步骤进行操作,就可以完成用户手册内容的自定义,实现系统组件手册内容的即增即减啦!你学会了嘛?

openKylin(开放麒麟)社区旨在以“共创”为核心,在开源、自愿、平等、协作的基础上,通过开源、开放的方式与企业构建合作伙伴生态体系,共同打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态繁荣发展。

社区首批理事成员单位包括麒麟软件、普华基础软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德系统、北京麟卓、先进操作系统创新中心等13家产业同仁和行业机构。

来源:谢嘉华

审核:openKylin

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/156581.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用EditPlus编译Fortran

一、EditPlus配置 语法点亮 安装好EditPlus后,点击Tool->Prefenrences,在File->Setting&syntex下,点击Add按钮,填Frotran。 到EditPlus官网上 EditPlus - User Files (other files) 下载Fortran语法文件 ​ 二、配置…

设计模式学习(四):Strategy策略模式

一、什么是Strategy模式 Strategy的意思是“策略”,指的是与敌军对垒时行军作战的方法。在编程中,我们可以将它理解为“算法”。无论什么程序,其目的都是解决问题。而为了解决问题,我们又需要编写特定的算法。使用Strategy模式可以…

Redis- 主从复制原理

1、概述 Master节点在平时提供服务,另外一个或多个Slave节点在平时不提供服务(或只提供数据读取服务)。当Master节点由于某些原因停止服务后,再人工/自动完成Slave节点到Master节点的切换工作,以便整个Redis集群继续向…

Spring依赖注入源码分析

1. 前言 Spring的核心之一就是依赖注入,Spring提供了Autowired注解来给bean注入依赖。除了注入最基本的bean之外,Spring还做了一些扩展,例如你可以注入Optional,以此来判断依赖的bean是否存在;你还可以注入Map来获得所…

Leetcode:617. 合并二叉树(C++)

目录 问题描述: 实现代码与解析: 递归: 原理思路: 迭代: 原理思路: 问题描述: 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时&am…

leetcode 399. 除法求值-java题解

题目所属分类 flod最短路算法 原题链接 给你一个变量对数组 equations 和一个实数值数组 values 作为已知条件,其中 equations[i] [Ai, Bi] 和 values[i] 共同表示等式 Ai / Bi values[i] 。每个 Ai 或 Bi 是一个表示单个变量的字符串。 另有一些以数组 queri…

编译metabase

Linux Centos7 配置Metabase编译打包环境 安装Oracle JDK1.8(如果已经安装,则可以省略此步骤,必须是Oracle JDK) 在线下载Oracle JDK 1.8 将下载好的tar包放入linux目录下 2、解压tar进行安装 tar -zxvf jdk-8u212-linux-x64.t…

SSL/TLS协议信息泄露漏洞(CVE-2016-2183)

最近服务器扫描出SSL/TLS协议信息泄露漏洞(CVE-2016-2183) TLS是安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性。 TLS, SSH, IPSec协商及其他产品中使用的DES及Triple DES密码存在大约四十亿块的生日界,这可使远程攻击者通过Sweet…

总结几个常用的Git命令的使用方法

目录 1、Git的使用越来越广泛 2、设置Git的用户名和密码并查看 3、建立自己的 Git 仓库 4、将自己的代码提交到远程 (origin) 仓库 5、同步远程仓库的更新到本地仓库 6、分支管理 7、获取远程仓库的内容 1、Git的使用越来越广泛 现在很多的公司或者机构都在使用Git进行项目和代…

Elasticsearch基础1——搜索引擎发展史和工作流程、es\es-head\kibana的基础安装

文章目录一、搜索引擎1.1 搜索引擎的发展背景1.2 Lucene和Elasticsearch1.3 Solr和Elasticsearch对比1.4 数据搜索方式1.5 搜索引擎1.5.1 搜索引擎工作流程1.5.2 网络爬虫原理流程1.5.3 网页分析1.5.4 正排索引和倒排索引二、Elasticsearch基础安装1.2 概述简介2.2 安装2.2.1 W…

tensorflow算子注册以及op详解

在自定义的算子时,经常遇到一些函数和宏,这里介绍一下常见的函数和宏 REGISTER_OP 首先我们来思考REGISTER_OP的作用是什么?当我们定义一个tensorflow的算子,首先我们需要tensorflow知道这个算子,也就是说我们要把这…

WeLink的使用

我这里是注册的企业端 流程>手机号验证码 注册成功后登陆 进入首页面 按操作逐步完成信息需求 因个体使用情况不同 在角色分类和组织架构中可根据自己部门或单位的分工分类 【拉人】: 三种方式 主要就是网址超链接和企业码 前提需要用户先注册 【加入审核】是根…

Nginx——反向代理解决跨域问题(Windows)

这个破玩意是真麻烦,必须写一篇文章避避坑了。一、先看看大佬的解释,了解反向代理和跨域问题吧:Nginx反向代理什么是跨域问题二、OK,直接开工,装Nginx下载地址: http://nginx.org/en/download.html如图所示, 选择相应的…

Flink多流转换(Flink Stream Unoin、Flink Stream Connect、Flink Stream Window Join)

文章目录多流转换1、分流操作1.1、在flink 1.13版本中已弃用.split()进行分流1.2、使用(process function)的侧输出流(side output)进行分流2、基本合流操作2.1、联合(Flink Stream Union)2.2、连接&#x…

【Go】实操使用go连接clickhouse

前言 近段时间业务在一个局点测试clickhouse,用java写的代码在环境上一直连接不上clickhouse服务,报错信息也比较奇怪,No client available,研发查了一段时间没查出来,让运维这边继续查: 运维同学查了各种…

OAuth 2.0授权框架详解

简介 在现代的网站中,我们经常会遇到使用OAuth授权的情况,比如有一个比较小众的网站,需要用户登录,但是直接让用户注册就显得非常麻烦,用户可能因为这个原因而流失,那么该网站可以使用OAuth授权&#xff0…

FactoryBean和BeanFactory的区别

1. 前言 “BeanFactory和FactoryBean的区别是什么???” 这是Spring非常高频的一道面试题,BeanFactory是Spring bean容器的顶级接口,负责创建和维护容器内所有的bean对象。而FactoryBean是用来创建一类bean的接口&…

数字新基建之数据云

自2021年“新基建”概念火爆以来,相关的政策和技术都不断跟进和发展,由于“新基建”本质上是基础设施向数字化、智能化、网络化方向发展,因此更多的科技领域从业者和投资者都将其称为“数字新基建”。而数据库、数据仓库、大数据平台和数据云…

C语言:整数的存储方式

整数的存储方式 char类型在存储时是按照ASCII码值进行存储,存储方式与整型一致 有符号数与无符号数 char一个字节signed charunsigned char int四个字节signed intunsigned int 各种类型数据均分为有符号和无符号类型,当定义一个int类型或char类型的数…

备库为什么会延迟好几个小时?

在上一篇文章中,我和你介绍了几种可能导致备库延迟的原因。你会发现,这些场景里,不论是偶发性的查询压力,还是备份,对备库延迟的影响一般是分钟级的,而且在备库恢复正常以后都能够追上来。 但是,如果备库执行日志的速度持续低于主库生成日志的速度,那这个延迟就有可能…