Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Deep operating system deepin announces that the DTK development framework has completed a comprehensive upgrade based on Qt6

2025-01-31 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > IT Information >

Share

Shulou(Shulou.com)11/24 Report--

CTOnews.com Sept. 13 news, according to the deep operating system deepin News Center, deepin DTK (Development ToolKit) has recently been officially adapted to Qt6 (6.4.2) to achieve a comprehensive upgrade.

▲ image source deep operating system deepin News Center official said that DTK, as a set of general development framework developed by deepin based on Qt, is at the core of the deepin operating system. This successful adaptation means that the deepin operating system will make full use of the new features and functions of the Qt6 version to provide users with a more advanced and efficient experience to the maximum extent.

The complete official introduction of CTOnews.com is as follows:

Why adapt to Qt6 since the birth of deepin, the deepin desktop operating system has attracted wide attention with its concise, intuitive and beautiful appearance, as well as its unique mode of operation. As the core tool development component of deepin operating system, DTK not only provides users with rich controls, but also has strong customization ability and high expansibility, which injects unique personality and charm into deepin desktop operating system. As a result, the deepin team has been keeping an eye on changes in Qt.

As the latest version of the development kit (SDK) we are using, Qt6 is not only an upgrade of the Qt5 version, but also a comprehensive innovation from scratch, which not only enhances cross-platform compatibility and improves performance, but also introduces many new features and tools, such as more powerful graphics rendering, multithreading support and so on.

Considering that Qt6 will be the major version in the next few years, to ensure that the application keeps pace with the latest technology in the future development, we have completed the adaptation of DTK to Qt6 (6.4.2) in the deepin V23 Beta version.

After adapting to Qt6, developers can directly access DTK on projects based on Qt6 without the need for secondary adaptation of Qt5 & DTK alone, which greatly reduces the repetition and waste of development resources. Applications that have been developed using Qt6 can also be connected to the DTK framework for in-depth development of programs that are more in line with DDE style, taking into account performance, while beauty is still online.

Adaptation problem and dealing with API change

Qt6 has made major changes and adjustments to some API, resulting in some original code that needs to be modified and adapted. So we comprehensively analyzed and refactored the code to ensure its compatibility in Qt6 and Qt5.

Existing lack of function

In Qt6, some functions that exist in Qt5 may be removed, replaced, or (temporarily) disabled due to changes in technology and architecture. This means that we need to find alternative ways to achieve the same functionality, or redesign and develop related functions.

Compatibility of third-party libraries and plug-ins

Qt5 often integrates with other third-party libraries and plug-ins, but these libraries and plug-ins may not be fully compatible with Qt6. So when adapting to Qt6, we evaluated and tested these integrations, and made the necessary modifications and adjustments. For example, qtxdg / QGSettings is not fully adapted to Qt6, so libqtxdg / QGSettings related code is temporarily disabled when Qt6 is compiled.

Update of dependencies

Qt6 usually upgrades dependent external libraries and tool chains to meet the requirements of Qt6. So we pay attention to upgrading and adapting these dependencies.

Implementation of Packaging and version Management of DTK6

After DTK adapts to Qt6, considering maintainability, we do not create a new branch to manage DTK5 and DTK6, both use the same set of code, DTK5 and DTK6 will coexist in the system.

Interface adaptation

For interfaces that have been marked obsolete but are still in use in Qt5, when adapting to Qt6, we directly delete them and replace them with available interfaces. For some unstable interfaces, such as some Qt private interfaces and even private variables obtained through certain technologies, we find the changed interfaces according to the functional logic by comparing the source code of Qt5 and Qt6 versions, and try our best to replace them with the interfaces exposed by Qt6.

Results and future planning of the entire Qt6 adaptation process, a total of 1000 + (1609) file changes, code added 20000 + lines, code removed 10,000 + lines.

So far, deepin DTK has completed 5 version iterations, 100 + updates, submitted nearly 200000 lines of code, and has been migrated to more than 10 Linux distributions.

In the future, we will also keep pace with the latest technology to further improve the stability of the application. We sincerely hope that this adaptation will bring a more advanced and efficient experience for developers and users, and we also look forward to more interested friends to join us to discuss more content and contribute to the promotion of ecological development.

Referenc

Deepin (depth) announces that deepin DTK has completed a comprehensive Qt6-based upgrade

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

IT Information

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report