Documentation Documentation
主页
指南
DTK
经验分享
社区作品
关于
  • 简体中文
  • English
  • Español
GitHub (opens new window)

Deepin

Deepin 社区文档
主页
指南
DTK
经验分享
社区作品
关于
  • 简体中文
  • English
  • Español
GitHub (opens new window)
  • READMEmd
  • dde-dock 开发网速插件 lfxSpeed
  • Deepin 自定义修改窗口圆角大小
  • DTK常用和测试代码片
  • 基于lfxSpeed制作的infomation-tips
  • DDE Store
    • 使用的库
    • 文件结构
    • 主窗口
    • 后台
    • 小部件
    • 源代码
  • Deepin初上手攻略
  • 社区作品
Deepin | Any developer
2020-12-21

DDE Store

DDE商店

使用DTK构建的DDE应用商店

由dekzi创建


文章原文 (英文) 初发于: DDE Store (opens new window)

一个加拿大的作者,仿造 “应用商店” 开发的国外版商店 : dde-store (opens new window) , 感觉很赞


# 使用的库

PackageKit - 与系统包互动并管理系统包。

AppStream - 收集包的应用数据(信息和元数据)

Snapd - 可选的Snap支持(显然)


# 文件结构

每个文件都被归类到一个特定的文件夹中。这些文件夹中的大多数都相当简单,除了 "后台 "可能看起来有点模糊。"后台 "文件夹包含了管理和与应用程序的库交互的文件,以及应用程序的设置。没有放在一个文件夹里的3个文件是main.cpp、mainwindow.cpp和mainwindow.h--因为它们是主要的程序文件,所以我没有把它们分类,只把它们放在根目录下。


# 主窗口

主窗口创建UI,如侧栏,并管理所有的页面。侧边栏只是一个简单的DListView,它用一个QStackedWidget来控制页面。对于任何打开的页面,如果在侧边栏中没有相应的条目,QStackedWidget将独立打开它,并清除DListView的选定条目。


# 后台

后端文件(处理库)有点棘手。其中很多是同步和异步的混合,所以前端必须同时适应这两种情况。这就是为什么你可能会看到一些函数需要前端作为参数的原因--这样当异步任务完成时就可以返回数据。如果异步任务有可跟踪的进度,前端就会使用一个DProgressBar。如果没有,则使用DSpinner代替。


# 小部件

我只在 "widgets "文件夹中创建自定义widgets,如果有一个以上的文件可以使用的话。这些widgets中有些只是以特定方式配置的其他widgets,比如 "list.cpp "是一个配置的DListView。其他的可能是完全自定义的,或者是其他widget的混合体,比如图片库或星级图标。


# 源代码

如果你想看看源代码,看看我是如何使用DTK widgets和DTK的功能与系统交互的,你可以查看项目在GitHub (opens new window)!

帮助编辑此页 (opens new window)
上次更新: 12/21/2020, 5:45:18 AM
基于lfxSpeed制作的infomation-tips
Deepin初上手攻略

← 基于lfxSpeed制作的infomation-tips Deepin初上手攻略→

Theme by Vdoing | Copyright © 2020-2021 Deepin | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式