优麒麟 | 你真的了解【开始菜单】吗?

本文介绍了优麒麟开源操作系统中的开始菜单设计,包括模块切换、窗口切换和搜索功能。开始菜单集成了应用快捷方式,支持软件检索、分类和固定常用软件,旨在提升用户体验。详细阐述了所有软件模块的功能,如软件分类、安装卸载监控以及固定和取消固定的处理流程。此外,还讲解了窗口大小切换的接口和搜索功能的实现,帮助用户快速找到并启动应用。
部署运行你感兴趣的模型镜像

在这里插入图片描述
开始菜单,实际就是物理设备上所安装的应用软件快捷方式的集合。为了便于用户使用,不仅包含简单的应用实时显示,还加入了软件检索、软件分类、固定常用软件等额外功能,进而达到方便用户使用的目的。

本篇文章围绕优麒麟开源操作系统的开始菜单主要功能进行简要介绍。

总体功能设计

UKUI-menu 的总体功能设计分为三个模块:模块切换、窗口切换和搜索,打开开始菜单后默认显示模式切换-所有软件模块页面:
图1 所有软件模块

功能模块介绍

模块切换
模板切换包含三个功能模块,分别为:所有软件模块、字母排序模块和功能分类模块。提供所有软件模块、字母排序模块与功能分类模块切换外部接口,参数为模块切换按钮指针变量;

接口定义:

void btnGroupClickedSlot(QAbstractButton *btn);

在页面中对应的位置如下:

图2 功能模块汇总

本次先对所有软件模块进行介绍:

所有软件模块主要用于显示系统中安装的所有软件,并根据软件适应频率实时刷新,同时支持将软件固定到列表顶端,不受使用频率的限制,所有软件模块处理流程图如下:

图3 所有软件模块处理流程

主要函数说明:

A. QVector getAllClassification(); //获取所有软件分类,返回值为应用信息存储容器

B. void ViewOpenedSlot(QDbusMessage msg); //进程开启监控槽函数,参数为D-Bus总线消息

C. void directoryChangedSlot(const QString &path); //软件安装卸载监控,参数为desktop文件目录

D. void fixToAllActionTriggerSlot(); //将软件固定到所有软件模块

E. void unfixedFromAllActionTriggerSlot(); //从所有软件模块取消固定

F. void updateListView(); //更新应用列表

窗口切换

窗口切换即实现开始菜单窗口大小的切换,默认状态下显示为默认窗口大小,通过调用切换接口实现最大化和恢复默认大小;

接口定义:

void showFullScreenWidget(); //最大化窗口

void showDefaultWidegt(); //恢复默认窗口大小

最大化窗口显示如下:

图4 最大化窗口

恢复默认窗口大小显示如下:

图5 默认窗口

搜索

搜索对于开始菜单的作用,就是能够帮助用户快速查找应用并打开应用,支持中英文及首字母实时搜索,在优麒麟的开始菜单接口中就提供了一个应用开启外部接口,通过搜索框查找到应用后点击应用图标,即可打开应用;

接口定义:

void onClicked(QModelIndex index); //参数为应用索引

以上就是本次对开始菜单的一些介绍,主要分析了开始菜单三大功能模块的功能以及模块切换中所有程序模块的主要函数,对源码有兴趣、想要了解更多的优客可以点击链接

您可能感兴趣的与本文相关的镜像

ComfyUI

ComfyUI

AI应用
ComfyUI

ComfyUI是一款易于上手的工作流设计工具,具有以下特点:基于工作流节点设计,可视化工作流搭建,快速切换工作流,对显存占用小,速度快,支持多种插件,如ADetailer、Controlnet和AnimateDIFF等

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值