[ANN] QtitanNavigationDesignUI 4 beta has been released!
We are pleased to announce the release of the beta version of the QtitanNavigationDesignUI 4 component
The long delay in releasing updates was due to the development of a mechanism for creating styles based on the popular Adobe XD tool. Our idea is to move away from manually writing rendering code for QStyle and instead provide the ability to design styles entirely in Adobe XD (Figma support is currently in the final stages of completion). This is now possible without any limitations. You simply design the style in Adobe XD according to a specific template, export the XD file to an XML file using a special utility (dcmake.exe - included in the DC Studio Tool), and then load the resulting XML file into Qt. The XD template is designed so that you can create both dark and light themes or any other color themes directly in Adobe XD. Colors will be exported to QPalette, and during rendering, the active palette group is taken into account — whether it's QPalette::Active, QPalette::Inactive, or QPalette::Disabled. Component states such as Hover, Pressed, or Disabled for the mouse are supported; fonts and metrics are also exported. All these elements are extracted from the Adobe XD document, so there’s no need to define them in the code. It’s enough to implement the design in Adobe XD while following the template.
https://www.devmachines.com/images/n...tyleLightL.png
https://www.devmachines.com/images/n...StyleDarkL.png
In addition to the new style, QtitanNavigationDesignUI 4 includes an updated WindowTitleBar class, which allows customization of the title bar for the top-level window. The new WindowTitleBar for Windows is implemented based on WinRT Direct Composition. To use it, you need Qt version 6.7.2 or higher. If you're using an older version of Qt6 or Qt5, the mechanism based on WM_NCCALCSIZE will be used instead. Building requires the use of the Visual Studio compiler, as mingw.g++ does not yet support WinRT compilation. The use of WinRT allows us to achieve support for the Acrylic effect on Windows 10 or 11, just as it works in native .NET applications. For Windows 11, the Mica effect is also available. To enable it, use:
Qtitan::WindowTitleBar::setBlurBehindWindowEffect( WindowTitleBar::Mica);
https://www.devmachines.com/images/n...ignUIV4_1L.png
https://www.devmachines.com/images/n...ignUIV4_3L.png
The updated WindowTitleBar includes an additional feature that allows you to add several custom buttons: a theme selection button (light or dark), a settings button, and a back button. These buttons will appear when the new WindowsUI style is in use.
For the Linux version, the WindowTitleBar class code contains an important fix for a bug that prevented proper dragging or resizing of the top-level window in the KDE Window Manager. Additionally, in this new version, we have fixed bugs related to rendering in the NavigationView and NavigationEdgeView classes, along with other issues reported by users. The source code for the beta version of QtitanNavigationDesignUI 4 is available in the personal accounts of QtitanNavigationDesignUI and QtitanSolution users. This version is currently only available for Windows, with versions for Linux and MacOS expected to be released by the end of May 2025.
https://www.devmachines.com
Re: [ANN] QtitanNavigationDesignUI 4 beta has been released!
I'm curious if there are any limitations to the compatibility between XML files exported from Adobe XD and different versions of Qt (like 6.2 and later)? And if there are changes in the design after exporting, is there any tool that supports updating the XML file flexibly without having to start over?
** Moderator note: Spam URL removed. To the poster: Zero tolerance for spam on this forum. Next time, you will be banned and your posts deleted. **
Re: [ANN] QtitanNavigationDesignUI 4 beta has been released!
Apparently, here we need to explain a little, the XML file is an intermediate link, which can always be regenerated from the Adobe XD template file using dctool.exe. For Qt, we provide a parser of this XML, which is compatible with the format generated by our toool dcmake.exe, parser can be compiled with Qt5 or Qt6. Along with this parser, there is a rendering mechanism compatible with QStyle. For example, you need to draw a push button. The button is drawn in AdobeXD with states - pressed, normal, mouse hovered or disabled. Then this button gets into XML and is parsed on the Qt side into a structure, which then draws the button at the time of the call QStyle::drawControl(QStyle::CE_PushButton);