Dtk Reference Documentation
DTK(Deepin Toolkit)
DTK(Deepin Toolkit,https://github.com/linuxdeepin/dtkwidget/)是深度操作系统(现UOS)提供的一套应用程序开发框架。 其前身为Deepin UI项目以及后来的DUI项目,这两个项目均为在深度操作系统的桌面环境、原创应用开发的过程中积累的一些常见工具类和控件库。 大多数的DDE(Deepin Desktop Environment)应用(“深度终端”除外)都使用Qt+DTK作为基础开发库。 DTK的历史起源、发展,和简单入门
DTK模块
DTK目前分为三个模块,dtkcore、dtkgui,dtkwidget,主要功能如下:
项目 | 功能描述 |
---|---|
dtkcore | 提供应用程序开发中的工具类,如程序日志、文件系统监控、格式转换等工具类 |
dtkgui | 包含了开发图形用户界面应用程序所需的功能。主要是控制窗口主题这种外观性,调色板等信息。 |
dtkwidget | 提供各种dtk基础控件,方便开发统一风格的应用。 |
授权模式
DTK开放源代码,并且提供自由软件的用户协议LGPLv3 允许企业与软件开发者使用,或将LGPL授权的软件集成至他们自己的软件内(即使该软件是私有软件也被允许),同时不会受到Copyleft特性的许可证强制对软件开源的限制。
支持平台
使用DTK开发的软件,相同的代码可以在任何支持的平台上编译与运行,而不需要修改源代码。会自动依平台的不同,表现平台特有的图形界面风格。 Linux/X11:用于X Window System(如uos/debian)、(windows/mac)
DTK 的hello world
#include <DApplication> #include <DMainWindow> #include <DTitlebar> DWIDGET_USE_NAMESPACE // using dtkwidget namespace int main(int argc, char *argv[]) { DApplication app(argc, argv); QIcon icon = QIcon::fromTheme("face-smile"); app.setApplicationVersion("1.0.0");// 设置(关于中显示)版本号 app.setProductName("dtk-dialog-demo");// 设置(关于中显示)产品名称 app.setProductIcon(icon); // 设置(关于中显示)产品icon DMainWindow w; w.titlebar()->setIcon(icon); //设置标题栏左上角icon w.show(); return app.exec(); }
编译与运行
新建一个文件夹,命名为hello,将代码hello.cpp放入hello文件夹 在hello文件夹运行下列命令
1. qmake -project 2. 编辑 .pro 文件,加上下面代码 CONFIG += link_pkgconfig QT += core gui widgets PKGCONFIG += dtkwidget 3. qmake 4. make 5. 执行 ./hello