跨平台跨架构的统信DTK开发套件教程及常见问题

DTK是统信基于Qt开发的一整套简单且实用的通用开发框架,处于统信UOS系统中的核心位置,统信UOS浏览器、音乐、邮件等40余款原生应用全部使用DTK开发。DTK从开发者的角度出发,融合现代化的开发理念,提供丰富的开发接口与支持工具,满足日常图形应用、业务应用、系统定制应用的开发需求,提升开发效率,让开发者畅享跨平台、跨架构的开发体验。
统信软件同心生态联盟特邀金牌讲师赵晨斌,将于2022年3月24日14:00-16:00,举办同心赋能·铸就未来第七期—统信DTK开发套件应用技术培训活动,直播演示DTK操作,线上腾讯会议号 802-501-674;帮助更多的开发者从理论和实践的角度,了解“统信DTK开发套件应用技术”,解决开发者长久以来在自主软硬件平台开发的烦恼。
**DTK常见问题**
Q:DTK和QT是什么关系?
A:DKT是QT所封装的另外一层库。

Q:有没有DTK方面的数据或者视频书籍?
A:有的;资料可以参考以下链接:
QtExamples:公司大佬整理的一些Qt学习资源(https://github.com/xmuli/QtExamples)
linuxdeepin:公司 在 GitHub 上的开源仓库(https://github.com/linuxdeepin)
Deepin 文档:Deepin 社区文档,核心为 DTK 团队的文档积累(https://docs.deepin.org/)
Deepin 论坛:Deepin 社区论坛,十分活跃,且有专门的国际化交流板(https://bbs.deepin.org/)

Q:UOS系统安装QTcreator之后界面显示异常是为什么?
A:可以具体发一下异常的截图和操作录屏到社区,会有我们的技术伙伴一同回答。

Q:DTK依赖的libc版本是多少?
A:依赖版本没有关系,只要有C语言的版本应该都是可以的。

Q:用QT做按钮,可以调用终端的命令吗?比如,我按一下按钮,等同于sudo apt install-f
A:执行命令QProcess类,可以执行shell命令或者可以直接使用system系统调用执行shell命令。

Q:DTK采用什么许可证?是不是和Qt一样是LGPL?
A:采用的话是LGPL的协议,和QT是一样的。

Q:如果我拿DTK开发库直接放在别的Linux的版本能兼容吗?同CPU架构。
A:可以兼容。

Q:开发的应用能发布到Windows,MAC OSX和IOS系统?
A:可以发布到Windows或ios系统上面,需要自己配置开发环境。

Q:dtk应用能在其它发行版如ubuntu或者win mac运行吗?
A:DTK可以在ubuntu上面运行的,在ubuntu或者win mac运行上面是可以运行的。

Q:一些行业应用,需要监控系统的运行信息(比如CPU、内存、硬盘),DTK里,有现成的组件吗?
A:可以的,可以使用DTK来调用,它里面提供库,可以来执行一些命令。行业应用监控系统的运行,是有现成的,UOS中系统监控就是通过DTK实现的,但更多会调用的是QT里面的库。

Q:前面在UOS下使用QT开发软件。部署后没问题。再安装其他软件有概率导致系统开不了机,卡在logo界面。这个是为啥?和依赖库有关系吗?那用哪个库?
A:导致系统卡在logo界面的原因较复杂,影响因素较多,是否有安装其他软件,如果有重现的步骤可以录屏并联系我们技术支持。

Q:DTK支持高分屏吗?4K显示屏会启用缩放吗?
A:支持的,高分屏可以使用控制中心开启缩放。

Q:今天讲课的PPT在哪里下载?
A:同心赋能·铸就未来“统信DTK开发套件应用技术”培训视频与课件资料已放置在同心生态公众号菜单-生态活动-往期活动中,有需要的小伙伴可以前往获取。

Q:DTK的主题改变通知有暴露给其它X程序吗?
A:主题分为系统主题(控制中心--个性化--主题--通用--主题)这个改变会设置GTK的主题,和xsettings变化信号,系统中程序都能收到,应用主题(dtk标题栏--菜单--主题) 这个变化只影响应用自身。

Q:在ubuntu运行需要安装dtk的库吗?
A:在ubuntu中,需要执行DTK。编写DTK程序是需要安装DTK的库,但如果只运行程序不需要安装DTK的库。

Q:c++有没有web应用开发框架?
A:有的。QT也可以做WEB应用开发框架。

Q:libdtkcore5这个是什么库在飞腾2000上有,为什么在华为990上更新不到这个库?
A:可能是990上添加的源仓库中没有dtk相关的包。

Q:dtk有独立的媒体处理库吗?视频有没有硬件加速?
A:DTK没有独立的媒体处理库,但可使用QT或者第三方的,使用ffmpeg/VLC会比较多。

Q:libdtkcore5 在哪里可以更新到?
A:直接安装,更新可以从其他APP上面直接下载,拷贝过来就行,拷贝到QT安装库里面。

Q:看名字应该是dtk和库吧,DTK支持其他系统吗?统信上使用的QT开发的软件会涉及到商业版权之类的问题吗?
A:只要是支持QT的都支持DTK,DTK是支持其他系统上面做开发,但DTK更多的话是支持UOS,控件、界面风格更符合深度或者说UOS系统。

Q:SDK计划开发的是否含有QT的库?
A:DTK基于QT开发,SDK中可能会包含QT库。

Q:有没有嵌入H5的控件?
A:有的,可以使用DTextBrowser显示H5网页。也可以使用QtWebEngine控件显示做WEB应用。

Q:libdtkcore5在飞腾2000和华为990上不是一个库吗?都是ARM架构为什么不兼容?
A:可能架构不一样,如果相同架构的情况下,高版本是兼容低版本的(即向下兼容)。

Q:有界面动效库吗,实现一些交互性的动画?
A:有界面动效库实现一些交互性的动画。QML里面有,包括QT里也是有的。

Q:DTK有兼容QtWebEngine的控件吗?
A:可以的,DTK本身是QT上封装的一个库。

Q:依赖只有qt的串口库?
A:是的。

Q:dtk的透明还需要xcom那个吗qt的透明需要那个?
A:QT的用法可以通用。

Q:发布的程序如果运行在UOS上,是不是不用带DTK的库,UOS自带的运行库就可以?
A:已发布的程序不需要带DTK的库,编写的话需要带DTK的库。

Q:能不能开一个专门的DTK和QT课程?
A:DTK下期将在3月24日下午开展。官方网站也有相关课程。

Q:发布应用的DTK的库有多大?
A:十几兆。

Q:DTK是否支持stylesheet和QSS?使用DTK编写的程序,在Ubuntu等机器上运行,主题会一致吗?
A:QT是支持的,QT支持样式表和QSS,并且DTK和QML的交互也实现。DTK是QT封装的一个上层应用库,为更好的符合UOS或深度操作系统界面。所以QT能支持的DTK大都是支持的。

Q:每天有专业老师定点指导?
A:deepin有社区,大家可以讨论https://bbs.deepin.org/,会有技术人员维护社区。

Q:如果DTK不能保证在其它发行版的兼容性,那么基于Debian/Ubuntu发行版开发的程序要用两套,SDK去开发程序吗?
A:是兼容的,不需要两套,主题可能会变形,DTK如果是在其他系统运行可能会变形,需要手动调整主题。因为DTK现在所有的主题适应UOS和深度操作系统,就是使用DDE主题桌面。

Q:也就是DTK控件的H5对应版本?
A:看QT的。

Q:dtk有没有打包工具一键生成deb安装包像win下的windowdeployqt?
A:这本身是QT自带的工具,在Linux系统下是可以使用的,在UOS系统里也是可以使用的,在命令行里面直接敲去打包就行。有工具可以直接一键打包,但并不能直接生成.deb,需要使用第三方工具来生成,deb。工具只是把用到的所有的库给集合。可以关注UOS官方网站,里面.deb打包的标准。

Q:UOS的deb安装包兼容其它linux发行版吗?
A:是兼容的。在整个Linux系统下,有两种安装包,一种deb。

Q:有没有浏览器组件,可以在应用里显示网页?
A:有的,可以直接来显示网页或者抓取网页显示是可以的。
【跨平台跨架构的统信DTK开发套件教程及常见问题】

    推荐阅读