您的位置:首页 > 游戏 > 游戏 > 在线免费网页代理_软件开发模型包括哪些_线下推广_无线网络优化

在线免费网页代理_软件开发模型包括哪些_线下推广_无线网络优化

2025/2/13 23:50:34 来源:https://blog.csdn.net/hidescold/article/details/143791845  浏览:    关键词:在线免费网页代理_软件开发模型包括哪些_线下推广_无线网络优化
在线免费网页代理_软件开发模型包括哪些_线下推广_无线网络优化

DTK(Development ToolKit)是基于 Qt 开发的简单且实用的通用开发框架。提供丰富的开发接口与支持工具,能有效提升开发效率。

文章目录

  • 一、简介
    • DTK 常见模块介绍
    • 概述
  • 二、框架创建
    • 开发环境准备
    • 使用 cmake
  • 三、常见模块
    • 窗口和对话框

在这里插入图片描述
在这里插入图片描述


一、简介

DTK 常见模块介绍

概述

DTK(Development ToolKit)是统信基于 Qt 开发的一整套简单且实用的通用开发框架。该开发套件可以帮助开发者快速实现跨平台跨架构。DTK 从开发者的角度出发,融合现代化的开发理念,提供丰富的开发接口与支持工具,满足日常图形应用、业务应用、系统定制应用的开发需求,提升开发效率。

DTK 中包含有多个核心模块,同时可无缝融合 Qt 的辅助功能模块。可满足日常图形应用、业务应用、系统定制应用的开发需求。DTK 中常用的项目(库)及其功能描述如下

项目功能描述
dtkcore提供应用程序开发中的工具类,如程序日志、文件系统监控、格式转换等工具类
dtkgui提供开发图形用户界面应用程序所需的功能。主要是控制应用主题,调色板等信息
dtkwidget提供各种 DTK 基础图形控件
qt5integration提供各种 Qt 插件,方便统一 Qt 应用的风格,包括图标引擎,主题插件等
qt5platform-plugins主要是平台插件,如 xcb 插件方便修改 x11 下窗口的属性

项目的主要模块可参考下图

在这里插入图片描述

二、框架创建

开发环境准备

安装依赖
在 deepin 环境开发应用可以按需安装对应开发包

sudo apt install libdtkcore-dev
sudo apt install libdtkgui-dev
sudo apt install libdtkwidget-dev

使用 cmake

使用 cmake 管理的项目引入 dtk

find_package(Dtk REQUIRED COMPONENTS Widget)# 使用 target 的方式,需要 dtk >= 5.6 以后才支持
target_link_libraries(<target>Dtk::Widget
)# pkgconfig
# find_package(PkgConfig REQUIRED)
# pkg_check_modules(DtkWidget IMPORTED_TARGET REQUIRED dtkwidget)
# target_link_libraries(<target> PRIVATE
#    PkgConfig::DtkWidget
#)

或者

find_package(DtkWidget REQUIRED)
target_include_directories(<target> PUBLIC${DtkWidget_INCLUDE_DIRS}
)
target_link_libraries(<target>${DtkWidget_LIBRARIES}
)

使用 qmake
qmake 管理的项目(xxx.pro)

QT += dtkcore dtkgui dtkwidget# pkgconfig
# CONFIG += link_pkgconfig
# PKGCONFIG += dtkwidget

简单的 Demo
使用 qtcreator 开发应用可以安装 qtcreator-template-dtk ,安装后有新建 dtk 项目的模板。

在这里插入图片描述

demo 编译运行如下

在这里插入图片描述
模板自动生成的代码如下

CMakeLists

cmake_minimum_required(VERSION 3.7)project(dtk-demo)set(CMAKE_CXX_STANDARD 11)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")# Find the library
#find_package(PkgConfig REQUIRED)
find_package(Qt5Widgets REQUIRED)
find_package(DtkWidget REQUIRED)add_executable(${PROJECT_NAME} "main.cpp" resources.qrc)target_include_directories(dtk-demo PUBLIC${DtkWidget_INCLUDE_DIRS}${OBJECT_BINARY_DIR})
target_link_libraries(dtk-demo${DtkWidget_LIBRARIES}${Qt5Widgets_LIBRARIES}
)
demo 源码#include <DApplication>
#include <DMainWindow>
#include <DWidgetUtil>
#include <DApplicationSettings>
#include <DTitlebar>
#include <DProgressBar>
#include <DFontSizeManager>#include <QPropertyAnimation>
#include <QDate>
#include <QLayout>
DWIDGET_USE_NAMESPACEint main(int argc, char *argv[])
{QGuiApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);DApplication a(argc, argv);a.setOrganizationName("deepin");a.setApplicationName("dtk-application");a.setApplicationVersion("1.0");a.setProductIcon(QIcon(":/images/logo.svg"));a.setProductName("Dtk Application");a.setApplicationDescription("This is a dtk template application.")

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com