<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>KDAB</title><description>Global software consultancy specialising in Qt, C++, Rust, Slint and Embedded Linux. Consulting, development, training and open-source tools since 1999.</description><link>https://www.kdab.com/</link><language>en-gb</language><item><title>KDAB Training Day - May 8th, 2025</title><link>https://www.kdab.com/kdab-training-day-may-8th-2025/</link><guid isPermaLink="true">https://www.kdab.com/kdab-training-day-may-8th-2025/</guid><description>&lt;p data-block-key=&quot;quovc&quot;&gt;Early-Bird tickets are on sale for the KDAB Training Day 2025 until 2025-03-31 23:59 The KDAB Training Day 2025 will take place in Munich on May 8th, right after the Qt World Summit on May 6th-7th. Choose to buy a combo ticket here (for access to QtWS and Training Day) or here (for access to […]&lt;/p&gt;</description><pubDate>Tue, 05 Nov 2024 12:56:00 GMT</pubDate><content:encoded>&lt;h1&gt;KDAB Training Day - May 8th, 2025&lt;/h1&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;p data-block-key=&quot;igfc3&quot;&gt;&lt;i&gt;Early-Bird tickets&lt;/i&gt; are on sale for the KDAB Training Day 2025 until 2025-03-31 23:59&lt;/p&gt;&lt;/div&gt;


&lt;div class=&quot;image-variable-size-block&quot;&gt;
    &lt;div class=&quot;image-variable-positioning-block right-margin-auto left-margin-auto width-100 &quot; &gt;
            &lt;div class=&quot;image-variable-size-image&quot;&gt;
                
                
                
                &lt;img id=&quot;training-day-long-banner.png&quot; src=&quot;https://eu-central-1.linodeobjects.com/wagtail-production/images/training-day-long-banner.original.png&quot; class=&quot;training-day-long-banner.png&quot; alt=&quot;training-day-long-banner.png&quot;&gt;
                
                
        &lt;/div&gt;
        &lt;div class=&quot;image-variable-size-caption text-center&quot;&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;/div&gt;&lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;rich-text&quot;&gt;&lt;p data-block-key=&quot;ap7up&quot;&gt;&lt;a href=&quot;https://training.kdab.com/ktd/&quot;&gt;The KDAB Training Day 2025&lt;/a&gt; will take place in Munich on May 8th, right after the &lt;a href=&quot;https://www.qt.io/qt-world-summit-2025&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Qt World Summit&lt;/a&gt; on May 6th-7th. Choose to buy a combo ticket &lt;a href=&quot;https://www.qt.io/qt-world-summit-2025&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt; (for access to QtWS and Training Day) or &lt;a href=&quot;https://pretix.kdab.com/KDAB/KTD25/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt; (for access to Training Day only).&lt;/p&gt;&lt;p data-block-key=&quot;2tcbs&quot;&gt;Seats are limited, so don&apos;t wait too long if you want to participate in a specific course. Tickets include access to the selected training course, training material, lunch buffet, beverages, and coffee breaks. &lt;b&gt;Note:&lt;/b&gt; The Training Day is held at &lt;b&gt;Hotel NH Collection München Bavaria&lt;/b&gt;, located at the Munich Central Station &lt;i&gt;(not the same location as Qt World Summit)&lt;/i&gt;.&lt;/p&gt;&lt;p data-block-key=&quot;d352j&quot;&gt;&lt;a href=&quot;https://training.kdab.com/ktd/&quot;&gt;Get your ticket&lt;/a&gt;&lt;/p&gt;&lt;p data-block-key=&quot;6ryli&quot;&gt;Why should you attend the KDAB Training Day?&lt;/p&gt;&lt;p data-block-key=&quot;l96hp&quot;&gt;With over 20 years of experience and a rich store of well-structured, constantly updated training material, KDAB offers hands-on, practical programming training in &lt;a href=&quot;https://training.kdab.com/portfolio/qtqml/&quot;&gt;Qt/QML&lt;/a&gt;, &lt;a href=&quot;https://training.kdab.com/portfolio/modern-cpp/&quot;&gt;Modern C++&lt;/a&gt;, &lt;a href=&quot;https://training.kdab.com/portfolio/3dopengl/&quot;&gt;3D/OpenGL&lt;/a&gt;, &lt;a href=&quot;https://training.kdab.com/portfolio/debugging-and-profiling/&quot;&gt;Debugging &amp;amp; Profiling&lt;/a&gt;, and lately &lt;a href=&quot;https://training.kdab.com/portfolio/rust/&quot;&gt;Rust&lt;/a&gt; - both for beginners as well as experienced developers.&lt;/p&gt;&lt;p data-block-key=&quot;xzslp&quot;&gt;All courses provided at the Training Day include central parts of the regular 3- to 4-day courses available as scheduled or customized on-site training. Choosing a compact, learning-rich one-day course, lets you experience the quality and effectiveness of KDAB’s usual training offerings.&lt;/p&gt;&lt;p data-block-key=&quot;fcobh&quot;&gt;Courses available at the KDAB Training Day 2025&lt;/p&gt;&lt;ul&gt;&lt;li data-block-key=&quot;x0mfk&quot;&gt;&lt;a href=&quot;#qml-application-architecture&quot;&gt;QML Application Architecture&lt;/a&gt;&lt;/li&gt;&lt;li data-block-key=&quot;9m8qm&quot;&gt;&lt;a href=&quot;#qmlc-integration&quot;&gt;QML/C++ integration&lt;/a&gt;&lt;/li&gt;&lt;li data-block-key=&quot;7p8o4&quot;&gt;&lt;a href=&quot;#modern-c-paradigms&quot;&gt;Modern C++ Paradigms&lt;/a&gt;&lt;/li&gt;&lt;li data-block-key=&quot;edx0o&quot;&gt;&lt;a href=&quot;#integrating-rust-into-qt-applications&quot;&gt;Integrating Rust into Qt applications&lt;/a&gt;&lt;/li&gt;&lt;li data-block-key=&quot;hl06k&quot;&gt;&lt;a href=&quot;#effective-modern-qml&quot;&gt;Effective Modern QML&lt;/a&gt;&lt;/li&gt;&lt;li data-block-key=&quot;s2cbo&quot;&gt;&lt;a href=&quot;#integrating-custom-3d-renderers-with-qt-applications&quot;&gt;Integrating Custom 3D Renderers with Qt Applications&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 id=&quot;qml-application-architecture&quot; anchor=&quot;qml-application-architecture&quot; data-block-key=&quot;qnmor&quot;&gt;QML Application Architecture&lt;/h2&gt;&lt;p data-block-key=&quot;geirr&quot;&gt;In this training, we do a step-by-step walkthrough of how to build a QML-based embedded application from the ground up and discuss some challenges that are typically met along the way.&lt;/p&gt;&lt;p data-block-key=&quot;hdzm7&quot;&gt;An important part of that journey is an investigation of where to put the boundaries between what you do in C++ and what you do in QML. We also look at some of the tools and building blocks we have available in QML that can help us achieve well-performing, well-structured, and well-maintainable applications.&lt;/p&gt;&lt;p data-block-key=&quot;wim67&quot;&gt;This course is for&lt;/p&gt;&lt;p data-block-key=&quot;m49v3&quot;&gt;(Qt) developers looking to improve their understanding of how to construct maintainable and efficient larger-scale QML applications.&lt;/p&gt;&lt;p data-block-key=&quot;zhs37&quot;&gt;Prerequisite&lt;/p&gt;&lt;p data-block-key=&quot;0bdn1&quot;&gt;Some real-world experience working on QML applications as well as a basic understanding of Qt and C++.&lt;/p&gt;&lt;p data-block-key=&quot;abz7m&quot;&gt;&lt;a href=&quot;https://training.kdab.com/ktd/&quot;&gt;Get your ticket&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;qmlc-integration&quot; anchor=&quot;qmlc-integration&quot; data-block-key=&quot;keojs&quot;&gt;QML/C++ Integration&lt;/h2&gt;&lt;p data-block-key=&quot;3dqei&quot;&gt;In this training, we start with a recap of fundamentals:&lt;/p&gt;&lt;ul&gt;&lt;li data-block-key=&quot;b4n6c&quot;&gt;How do we expose C++ API to QML?&lt;/li&gt;&lt;li data-block-key=&quot;j9u24&quot;&gt;How do we make data available to QML?&lt;/li&gt;&lt;/ul&gt;&lt;p data-block-key=&quot;1cte8&quot;&gt;Afterward, we explore several more advanced techniques, often widely deployed within Qt&apos;s QML modules, such as Qt Quick.&lt;/p&gt;&lt;p data-block-key=&quot;mpkf2&quot;&gt;This will answer questions such as:&lt;/p&gt;&lt;ul&gt;&lt;li data-block-key=&quot;jo5ny&quot;&gt;How would I do a Loader like component?&lt;/li&gt;&lt;li data-block-key=&quot;ittt3&quot;&gt;How would I do a Layout like component?&lt;/li&gt;&lt;/ul&gt;&lt;p data-block-key=&quot;1qw3d&quot;&gt;This course is for&lt;/p&gt;&lt;p data-block-key=&quot;2982n&quot;&gt;Qt/QML developers who are familiar with the QML APIs of QtQuick and related modules and who have wondered how these are implemented and want to use similar techniques in their project-specific APIs.&lt;/p&gt;&lt;p data-block-key=&quot;jr59q&quot;&gt;Prerequisite&lt;/p&gt;&lt;p data-block-key=&quot;3jxrd&quot;&gt;Some real-world experience working on QML applications as well as a basic understanding of Qt and C++.&lt;/p&gt;&lt;p data-block-key=&quot;e0emd&quot;&gt;&lt;a href=&quot;https://training.kdab.com/ktd/&quot;&gt;Get your ticket&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;modern-c-paradigms&quot; anchor=&quot;modern-c-paradigms&quot; data-block-key=&quot;llojl&quot;&gt;Modern C++ Paradigms&lt;/h2&gt;&lt;p data-block-key=&quot;dsf92&quot;&gt;Modern C++ emphasizes safer, more efficient, and maintainable code through higher-level abstractions that reduce error-prone manual work.&lt;/p&gt;&lt;p data-block-key=&quot;tz6cq&quot;&gt;This training will explore key paradigms shaping recent C++ evolution, starting with value semantics in class design, which enhances code safety, local reasoning, and thread safety. We will examine modern C++ tools for creating value-oriented types, including move semantics, smart pointers, and other library enablers.&lt;/p&gt;&lt;p data-block-key=&quot;8dpio&quot;&gt;Next, we will look at expressive, type and value-based error handling.&lt;/p&gt;&lt;p data-block-key=&quot;zigla&quot;&gt;Finally, we&apos;ll cover range-based programming, which enables clean, declarative code and unlocks new patterns through lazy, composable transformations.&lt;/p&gt;&lt;p data-block-key=&quot;q6ped&quot;&gt;This course is for&lt;/p&gt;&lt;p data-block-key=&quot;8isno&quot;&gt;C++ developers who wish to improve the quality of their code, in particular those who wish to write future-proof APIs.&lt;/p&gt;&lt;p data-block-key=&quot;8n6ph&quot;&gt;Prerequisites&lt;/p&gt;&lt;p data-block-key=&quot;c4hll&quot;&gt;Prior professional experience in C++. Experience with the latest C++ standards (C++20/23/26) is a plus. We will use several examples inspired by Qt APIs, so Qt knowledge is also a plus (but this is not going to be a Qt training).&lt;/p&gt;&lt;p data-block-key=&quot;2r8ap&quot;&gt;&lt;a href=&quot;https://training.kdab.com/ktd/&quot;&gt;Get your ticket&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;integrating-rust-into-qt-applications&quot; anchor=&quot;integrating-rust-into-qt-applications&quot; data-block-key=&quot;yb023&quot;&gt;Integrating Rust into Qt Applications&lt;/h2&gt;&lt;p data-block-key=&quot;5h7mg&quot;&gt;In this step-by-step course, we start with a Qt/C++ application and add Rust code to it piece by piece. To achieve this, we will cover:&lt;/p&gt;&lt;ul&gt;&lt;li data-block-key=&quot;gecw3&quot;&gt;Use of Cargo (Rusts build system) with CMake&lt;/li&gt;&lt;li data-block-key=&quot;e6rqy&quot;&gt;Accessing Rust code from C++ with CXX (and vice-versa)&lt;/li&gt;&lt;li data-block-key=&quot;sd983&quot;&gt;Defining your own QObject types in Rust with CXX-Qt&lt;/li&gt;&lt;/ul&gt;&lt;p data-block-key=&quot;lwnki&quot;&gt;We discuss when to use Rust compared to C++ to make the best of both languages and how to use them together effectively to make Qt applications safer and easier to maintain.&lt;/p&gt;&lt;p data-block-key=&quot;h8szb&quot;&gt;This course is for&lt;/p&gt;&lt;p data-block-key=&quot;k7841&quot;&gt;Qt/C++ Developers with an interest in Rust who want to learn how to use Rust in their existing applications.&lt;/p&gt;&lt;p data-block-key=&quot;qigmj&quot;&gt;Prerequisites&lt;/p&gt;&lt;p data-block-key=&quot;mw4l3&quot;&gt;Basic Qt/C++ knowledge, as well as basic Rust knowledge, is required. A working Qt installation with CMake and a working Rust installation is needed. We will provide material before the training day that participants should use to check their setup before the training.&lt;/p&gt;&lt;p data-block-key=&quot;y81t4&quot;&gt;&lt;a href=&quot;https://training.kdab.com/ktd/&quot;&gt;Get your ticket&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;effective-modern-qml&quot; anchor=&quot;effective-modern-qml&quot; data-block-key=&quot;eli4s&quot;&gt;Effective Modern QML&lt;/h2&gt;&lt;p data-block-key=&quot;qthcx&quot;&gt;In this training, we look into all the new developments in QML over the last few years and how they lead to more expressive, performant, and maintainable code.&lt;/p&gt;&lt;p data-block-key=&quot;9dmn1&quot;&gt;This includes:&lt;br/&gt; - The qt_add_qml_module CMake API&lt;br/&gt; - Declarative type registration&lt;br/&gt; - The different QML compilers&lt;br/&gt; - New language and library features&lt;br/&gt; - New developments in Qt Quick Controls&lt;br/&gt; - Usage of tools like qmllint, QML Language Server, and qmlformat&lt;/p&gt;&lt;p data-block-key=&quot;lhn00&quot;&gt;The focus will be on gradually modernizing existing codebases with new tools and practices.&lt;/p&gt;&lt;p data-block-key=&quot;tsm66&quot;&gt;This course is for&lt;/p&gt;&lt;p data-block-key=&quot;licpc&quot;&gt;Developers who learned QML back in the days of Qt 5 and want to catch up with recent developments in QML and modernize their knowledge as well as codebases.&lt;/p&gt;&lt;p data-block-key=&quot;ov6qf&quot;&gt;Prerequities&lt;/p&gt;&lt;p data-block-key=&quot;fia6d&quot;&gt;Some real-world experience with QML and a desire to learn about modern best practices.&lt;/p&gt;&lt;p data-block-key=&quot;je3a8&quot;&gt;&lt;a href=&quot;https://training.kdab.com/ktd/&quot;&gt;Get your ticket&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;integrating-custom-3d-renderers-with-qt-applications&quot; anchor=&quot;integrating-custom-3d-renderers-with-qt-applications&quot; data-block-key=&quot;z6hmr&quot;&gt;Integrating Custom 3D Renderers with Qt Applications&lt;/h2&gt;&lt;p data-block-key=&quot;r2mi4&quot;&gt;Qt has long offered ways of using low-level 3d libraries such as OpenGL to do custom rendering. Whether at the Window, the Widget, or Quick Item level, the underlying rendering system can be accessed in ways that make it safe to integrate such 3rd party renderers. This remains true in the Qt 6 timeline, although the underlying rendering system has changed and OpenGL has been replaced by RHI.&lt;/p&gt;&lt;p data-block-key=&quot;zc4jy&quot;&gt;In this course, we look at how the graphic stack is structured in Qt 6 and how third-party renderers can be integrated on the various platforms supported by Qt.&lt;/p&gt;&lt;p data-block-key=&quot;9jgtw&quot;&gt;We then focus on the specific case of integrating Vulkan-based renderers. Vulkan is the successor to OpenGL; it&apos;s much more powerful but harder to learn. To facilitate the initial use of Vulkan, we introduce KDGpu, a library that encapsulates Vulkan while preserving the underlying concepts of pipeline objects, buffer handling, synchronization, etc.&lt;/p&gt;&lt;p data-block-key=&quot;soj9b&quot;&gt;This course is for&lt;/p&gt;&lt;p data-block-key=&quot;sla8z&quot;&gt;This course targets developers wanting to understand the recent state of the graphics stack in Qt, discover the fundamental principles of modern graphics API, and integrate their custom renderers in their applications.&lt;/p&gt;&lt;p data-block-key=&quot;obnme&quot;&gt;Prerequisite&lt;/p&gt;&lt;p data-block-key=&quot;w7m3e&quot;&gt;Prior knowledge of Qt will be required. A basic understanding of 3d graphics would be beneficial.&lt;/p&gt;&lt;p data-block-key=&quot;2ebim&quot;&gt;&lt;a href=&quot;https://training.kdab.com/ktd/&quot;&gt;Get your ticket&lt;/a&gt;&lt;/p&gt;&lt;p data-block-key=&quot;fc1c3&quot;&gt;&lt;i&gt;Video from KDAB Training Day 2023 held in Berlin&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;







&lt;div class=&quot;cookieconsent-optin-marketing overlay-embed-block&quot;&gt;
    &lt;div style=&quot;padding-bottom: 56.49999999999999%;&quot; class=&quot;responsive-object&quot;&gt;
    &lt;iframe width=&quot;200&quot; height=&quot;113&quot; src=&quot;https://www.youtube.com/embed/Fv05J1V-uxo?feature=oembed&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen title=&quot;KDAB Training Day 2023&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;/div&gt;




&lt;style&gt;
.overlay-embed-block .responsive-object {
    position: relative;
}

.overlay-embed-block .responsive-object iframe,
.overlay-embed-block .responsive-object object,
.overlay-embed-block .responsive-object embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
&lt;/style&gt;


&lt;p&gt;The post &lt;a href=&quot;https://www.kdab.com/kdab-training-day-may-8th-2025/&quot;&gt;KDAB Training Day - May 8th, 2025&lt;/a&gt; appeared first on &lt;a href=&quot;https://www.kdab.com&quot;&gt;KDAB&lt;/a&gt;.&lt;/p&gt;</content:encoded><dc:creator>Editor Team</dc:creator><category>news</category><category>qml</category><category>qt</category><category>training</category></item><item><title>CXX-Qt 0.7 Release</title><link>https://www.kdab.com/cxx-qt-0-7/</link><guid isPermaLink="true">https://www.kdab.com/cxx-qt-0-7/</guid><description>&lt;p data-block-key=&quot;h62a3&quot;&gt;We just released CXX-Qt version 0.7! CXX-Qt is a set of Rust crates for creating bidirectional Rust ⇄ C++ bindings with Qt. It supports integrating Rust into C++ applications using CMake or building Rust applications with Cargo. CXX-Qt provides tools for implementing QObject subclasses in Rust that can be used from C++, QML, and JavaScript. […]&lt;/p&gt;</description><pubDate>Thu, 31 Oct 2024 08:30:00 GMT</pubDate><content:encoded>&lt;h1&gt;CXX-Qt 0.7 Release&lt;/h1&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;p data-block-key=&quot;zkdyw&quot;&gt;We just released CXX-Qt version 0.7!&lt;/p&gt;&lt;p data-block-key=&quot;j48ei&quot;&gt;&lt;a href=&quot;https://www.kdab.com/cxx-qt/&quot;&gt;CXX-Qt&lt;/a&gt; is a set of Rust crates for creating bidirectional Rust ⇄ C++ bindings with Qt. It supports integrating Rust into C++ applications using CMake or building Rust applications with Cargo. CXX-Qt provides tools for implementing QObject subclasses in Rust that can be used from C++, QML, and JavaScript.&lt;/p&gt;&lt;p data-block-key=&quot;zpo9h&quot;&gt;For 0.7, we have stabilized the &lt;code&gt;cxx-qt&lt;/code&gt; bridge macro API and there have been many internal refactors to ensure that we have a consistent baseline to support going forward. We encourage developers to reach out if they find any unclear areas or missing features, to help us ensure a roadmap for them, as this may be the final time we can adapt the API. In the next releases, we&amp;#x27;re looking towards stabilizing the &lt;code&gt;cxx-qt-build&lt;/code&gt; and getting the &lt;code&gt;cxx-qt-lib&lt;/code&gt; APIs ready for 1.0.&lt;/p&gt;&lt;p data-block-key=&quot;go4jn&quot;&gt;Check out the new release through the usual channels:&lt;/p&gt;&lt;ul&gt;&lt;li data-block-key=&quot;qxlnz&quot;&gt;&lt;a href=&quot;https://kdab.github.io/cxx-qt/book/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;The CXX-Qt book&lt;/a&gt;&lt;/li&gt;&lt;li data-block-key=&quot;23h47&quot;&gt;&lt;a href=&quot;https://docs.rs/cxx-qt/latest/cxx_qt/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;The CXX-Qt documentation&lt;/a&gt;&lt;/li&gt;&lt;li data-block-key=&quot;szj0i&quot;&gt;&lt;a href=&quot;https://docs.rs/cxx-qt-lib/latest/cxx_qt_lib/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;The CXX-Qt-lib documentation&lt;/a&gt;&lt;/li&gt;&lt;li data-block-key=&quot;h80ag&quot;&gt;&lt;a href=&quot;https://github.com/KDAB/cxx-qt&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Our Github repository&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 id=&quot;some-of-the-most-notable-developer-facing-changes&quot; anchor=&quot;some-of-the-most-notable-developer-facing-changes&quot; data-block-key=&quot;ap5hf&quot;&gt;Some of the most notable developer-facing changes:&lt;/h2&gt;&lt;h3 id=&quot;stabilized-cxx_qtbridge-macro&quot; anchor=&quot;stabilized-cxx_qtbridge-macro&quot; data-block-key=&quot;icwv5&quot;&gt;Stabilized #[cxx_qt::bridge] macro&lt;/h3&gt;&lt;p data-block-key=&quot;f7g4u&quot;&gt;CXX-Qt 0.7 reaches a major milestone by stabilizing the bridge macro that is at the heart of CXX-Qt.&lt;br/&gt; You can now depend on your CXX-Qt bridges to remain compatible with future CXX-Qt versions.&lt;br/&gt; As we&amp;#x27;re still pre-1.0, we may still introduce very minor breaking changes to fix critical bugs in the edge-cases of the API, but the vast majority of bridges should remain compatible with future versions.&lt;/p&gt;&lt;p data-block-key=&quot;bas2t&quot;&gt;This stabilization is also explicitly limited to the bridge API itself. Breaking changes may still occur in e.g. &lt;code&gt;cxx-qt-lib&lt;/code&gt;, &lt;code&gt;cxx-qt-build&lt;/code&gt;, and &lt;code&gt;cxx-qt-cmake&lt;/code&gt;. We plan to stabilize those crates in the next releases.&lt;/p&gt;&lt;h3 id=&quot;naming-changes&quot; anchor=&quot;naming-changes&quot; data-block-key=&quot;kv9iv&quot;&gt;Naming Changes&lt;/h3&gt;&lt;p data-block-key=&quot;8sgts&quot;&gt;The handling of names internally has been refactored to ensure consistency across all usages. During this process, implicit automatic case conversion has been removed, so &lt;code&gt;cxx_name&lt;/code&gt; and &lt;code&gt;rust_name&lt;/code&gt; are now used to specify differing Rust and C++ names. Since the automatic case conversion is useful, it can be explicitly enabled using per extern block attributes &lt;code&gt;auto_cxx_name&lt;/code&gt; and &lt;code&gt;auto_rust_name&lt;/code&gt;, while still complimenting CXX. For more details on how these attributes can be used, visit the attributes page in the &lt;a href=&quot;https://kdab.github.io/cxx-qt/book/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;CXX-Qt book&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;


&lt;div class=&quot;formatted-code&quot;&gt;
    &lt;pre&gt;&lt;code class=&quot;language-rust  line-numbers &quot;&gt;// with 0.6 implicit automatic case conversion
#[cxx_qt::bridge]
mod ffi {
  unsafe extern &amp;quot;RustQt&amp;quot; {
    #[qobject]
    #[qproperty(i32, my_number) // myNumber in C++
    type MyObject = super::MyObjectRust;

    fn my_method(self: &amp;amp;MyObject); // myMethod in C++
  }
}

// with 0.7 cxx_name / rust_name
#[cxx_qt::bridge]
mod ffi {
  unsafe extern &amp;quot;RustQt&amp;quot; {
    #[qobject]
    #[qproperty(i32, my_number, cxx_name = &amp;quot;myNumber&amp;quot;)
    type MyObject = super::MyObjectRust;

    #[cxx_name = &amp;quot;myMethod&amp;quot;]
    fn my_method(self: &amp;amp;MyObject);
  }
}

// with 0.7 auto_cxx_name / auto_rust_name
#[cxx_qt::bridge]
mod ffi {
  #[auto_cxx_name] // &amp;lt;-- enables automatic cxx_name generation within the `extern &amp;quot;RustQt&amp;quot;` block
  unsafe extern &amp;quot;RustQt&amp;quot; {
    #[qobject]
    #[qproperty(i32, my_number) // myNumber in C++
    type MyObject = super::MyObjectRust;

    fn my_method(self: &amp;amp;MyObject); // myMethod in C++
  }
}&lt;/code&gt;&lt;/pre&gt;
 &lt;/div&gt;


&lt;div class=&quot;rich-text&quot;&gt;&lt;h3 id=&quot;cxx_file_stem-removal&quot; anchor=&quot;cxx_file_stem-removal&quot; data-block-key=&quot;oyr30&quot;&gt;cxx_file_stem Removal&lt;/h3&gt;&lt;p data-block-key=&quot;uofbv&quot;&gt;In previous releases, the output filename of generated C++ files used the &lt;code&gt;cxx_file_stem&lt;/code&gt; attribute of the CXX-Qt bridge. This has been changed to use the filename of the Rust source file including the directory structure.&lt;/p&gt;&lt;p data-block-key=&quot;gkr15&quot;&gt;Previously, the code below would generate a C++ header path of &lt;code&gt;my_file.cxxqt.h.&lt;/code&gt; After the changes, the &lt;code&gt;cxx_file_stem&lt;/code&gt; must be removed and the generated C++ header path changes to &lt;code&gt;crate-name/src/my_bridge.cxxqt.h.&lt;/code&gt; This follows a similar pattern to CXX.&lt;/p&gt;&lt;/div&gt;


&lt;div class=&quot;formatted-code&quot;&gt;
    &lt;pre&gt;&lt;code class=&quot;language-rust  line-numbers &quot;&gt;// crate-name/src/my_bridge.rs

// with 0.6 a file stem was specified
#[cxx_qt::bridge(cxx_file_stem = &amp;quot;my_file&amp;quot;)]
mod ffi {
...
}

// with 0.7 the file path is used
#[cxx_qt::bridge]
mod ffi {
...
}&lt;/code&gt;&lt;/pre&gt;
 &lt;/div&gt;


&lt;div class=&quot;rich-text&quot;&gt;&lt;h3 id=&quot;build-system-changes&quot; anchor=&quot;build-system-changes&quot; data-block-key=&quot;kgtti&quot;&gt;Build System Changes&lt;/h3&gt;&lt;p data-block-key=&quot;6nofv&quot;&gt;The internals of the build system have changed so that dependencies are automatically detected and configured by &lt;code&gt;cxx-qt-build&lt;/code&gt;, libraries can pass build information to &lt;code&gt;cxx-qt-build&lt;/code&gt;, and a &lt;a href=&quot;https://github.com/KDAB/cxx-qt-cmake&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;CXX-Qt CMake module&lt;/a&gt; is now available providing convenience wrappers around corrosion. This means that the &lt;code&gt;cxx-qt-lib-headers&lt;/code&gt; crate has been removed and only &lt;code&gt;cxx-qt-lib&lt;/code&gt; is required. With these changes, there is now no need for the &lt;code&gt;-header&lt;/code&gt; crates that existed before. Previously, some features were enabled by default in &lt;code&gt;cxx-qt-lib.&lt;/code&gt; Now these are all opt-in. We have provided &lt;code&gt;full&lt;/code&gt; and &lt;code&gt;qt_full&lt;/code&gt; as convenience to enable all features; however, we would recommend opting in to the specific features you need.&lt;/p&gt;&lt;p data-block-key=&quot;lj89q&quot;&gt;We hope to improve the API of &lt;code&gt;cxx-qt-build&lt;/code&gt; in the next cycle to match the internal changes and become more modular.&lt;/p&gt;&lt;h2 id=&quot;further-improvements&quot; anchor=&quot;further-improvements&quot; data-block-key=&quot;87md1&quot;&gt;Further Improvements&lt;/h2&gt;&lt;p data-block-key=&quot;2ykwa&quot;&gt;CXX-Qt can now be successfully built for WASM, with documented steps available in the book and CI builds for WASM to ensure continued support.&lt;/p&gt;&lt;p data-block-key=&quot;8e8c9&quot;&gt;Locking generation on the C++ side for all methods has been removed, which simplifies generation and improves performance. Using &lt;code&gt;queue&lt;/code&gt; from &lt;code&gt;cxx_qt::CxxQtThread&lt;/code&gt; is still safe, as it provides locking, but it is up to the developer to avoid incorrect multi-threading in C++ code (as in the &lt;code&gt;CXX&lt;/code&gt; crate). Note that Qt generally works well here, with the signal/slot mechanism working safely across threads.&lt;/p&gt;&lt;p data-block-key=&quot;k867t&quot;&gt;As with most releases, there are more Qt types wrapped in &lt;code&gt;cxx-qt-lib&lt;/code&gt; and various other changes are detailed in the &lt;a href=&quot;https://github.com/KDAB/cxx-qt/blob/main/CHANGELOG.md&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;CHANGELOG&lt;/a&gt;.&lt;/p&gt;&lt;p data-block-key=&quot;iwkel&quot;&gt;Make sure to subscribe to the &lt;a href=&quot;https://www.youtube.com/@KDABtv&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;KDAB YouTube channel&lt;/a&gt;, where we&amp;#x27;ll post more videos on CXX-Qt in the coming weeks.&lt;/p&gt;&lt;h2 id=&quot;thanks-to-all-of-our-contributors-that-helped-us-with-this-release&quot; anchor=&quot;thanks-to-all-of-our-contributors-that-helped-us-with-this-release&quot; data-block-key=&quot;wywr9&quot;&gt;Thanks to all of our contributors that helped us with this release:&lt;/h2&gt;&lt;ul&gt;&lt;li data-block-key=&quot;jycgd&quot;&gt;Ben Ford&lt;/li&gt;&lt;li data-block-key=&quot;fe2xv&quot;&gt;Laurent Montel&lt;/li&gt;&lt;li data-block-key=&quot;qddhh&quot;&gt;Matt Aber&lt;/li&gt;&lt;li data-block-key=&quot;5onmi&quot;&gt;knox (aka @knoxfighter)&lt;/li&gt;&lt;li data-block-key=&quot;zmgod&quot;&gt;Be Wilson&lt;/li&gt;&lt;li data-block-key=&quot;12qv1&quot;&gt;Joshua Goins&lt;/li&gt;&lt;li data-block-key=&quot;j8z4o&quot;&gt;Alessandro Ambrosano&lt;/li&gt;&lt;li data-block-key=&quot;2hzzh&quot;&gt;Alexander Kiselev&lt;/li&gt;&lt;li data-block-key=&quot;5qa5c&quot;&gt;Alois Wohlschlager&lt;/li&gt;&lt;li data-block-key=&quot;atcuz&quot;&gt;Darshan Phaldesai&lt;/li&gt;&lt;li data-block-key=&quot;zoplg&quot;&gt;Jacob Alexander&lt;/li&gt;&lt;li data-block-key=&quot;epdnk&quot;&gt;Sander Vocke&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;p&gt;The post &lt;a href=&quot;https://www.kdab.com/cxx-qt-0-7/&quot;&gt;CXX-Qt 0.7 Release&lt;/a&gt; appeared first on &lt;a href=&quot;https://www.kdab.com&quot;&gt;KDAB&lt;/a&gt;.&lt;/p&gt;</content:encoded><dc:creator/><category>news</category><category>qml</category><category>rust</category><category>tools</category></item><item><title>KDAB at Embedded Software Engineering Kongress</title><link>https://www.kdab.com/kdab-at-embedded-software-engineering-kongress-ese/</link><guid isPermaLink="true">https://www.kdab.com/kdab-at-embedded-software-engineering-kongress-ese/</guid><description>&lt;p data-block-key=&quot;why0d&quot;&gt;KDAB is an exhibitor at the Embedded Software Engineering Kongress (ESE) held in Sindelfingen (Germany) from December 2nd to 5th. Registration is already open! &amp;quot;The ESE Congress is Germany&amp;#x27;s leading congress for the embedded software industry. Every year in December, over 1,200 professionals meet to learn about current technologies and methods, discuss trends and set […]&lt;/p&gt;</description><pubDate>Wed, 30 Oct 2024 11:31:00 GMT</pubDate><content:encoded>&lt;h1&gt;KDAB at Embedded Software Engineering Kongress&lt;/h1&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;p data-block-key=&quot;otbo4&quot;&gt;KDAB is an exhibitor at the &lt;a href=&quot;https://ese-kongress.de/frontend/index.php&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Embedded Software Engineering Kongress (ESE)&lt;/a&gt; held in Sindelfingen (Germany) from December 2nd to 5th. Registration is already open!&lt;/p&gt;&lt;p data-block-key=&quot;k9njp&quot;&gt;&lt;i&gt;&amp;quot;The ESE Congress is Germany&amp;#x27;s leading congress for the embedded software industry. Every year in December, over 1,200 professionals meet to learn about current technologies and methods, discuss trends and set the course for the future.&amp;quot;&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;


&lt;div class=&quot;image-variable-size-block&quot;&gt;
    &lt;div class=&quot;image-variable-positioning-block right-margin-auto left-margin-auto width-25 &quot; &gt;
            &lt;div class=&quot;image-variable-size-image&quot;&gt;
                
                
                
                &lt;img id=&quot;ese_logo-1.gif&quot; src=&quot;https://eu-central-1.linodeobjects.com/wagtail-production/images/ese_logo-1.original.png&quot; class=&quot;ese_logo-1.gif&quot; alt=&quot;ese_logo-1.gif&quot;&gt;
                
                
        &lt;/div&gt;
        &lt;div class=&quot;image-variable-size-caption text-center&quot;&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;/div&gt;&lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;rich-text&quot;&gt;&lt;p data-block-key=&quot;v0hb9&quot;&gt;You will find the KDAB booth in the exhibitor hall &lt;a href=&quot;https://slint.dev/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;(next to Slint)&lt;/a&gt; where you can view some of our latest demos demonstrated by our experts:&lt;/p&gt;&lt;h2 id=&quot;developing-next-generation-ui-for-an-ev-charger&quot; anchor=&quot;developing-next-generation-ui-for-an-ev-charger&quot; data-block-key=&quot;r6gl9&quot;&gt;Developing Next Generation UI for an EV Charger&lt;/h2&gt;&lt;p data-block-key=&quot;mpxl1&quot;&gt;&lt;b&gt;High-quality touch-based interface based on Slint&lt;/b&gt;&lt;/p&gt;&lt;p data-block-key=&quot;6jsy7&quot;&gt;KDAB and &lt;a href=&quot;https://www.tqcs.io/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;tQCS&lt;/a&gt; used &lt;a href=&quot;https://slint.dev/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Slint, a UI toolkit built with Rust,&lt;/a&gt; to overhaul the user interface of SK Signet’s flagship Electric Vehicle charger.&lt;/p&gt;&lt;ul&gt;&lt;li data-block-key=&quot;sehes&quot;&gt;15-inch and 32-inch variants with dynamic dark/light mode&lt;/li&gt;&lt;li data-block-key=&quot;mu7cw&quot;&gt;Video playback with FFmpeg and networking with Curl&lt;/li&gt;&lt;li data-block-key=&quot;7nra9&quot;&gt;Windows 10 IoT embedded hardware&lt;/li&gt;&lt;/ul&gt;&lt;h2 id=&quot;servo-webview-for-qt&quot; anchor=&quot;servo-webview-for-qt&quot; data-block-key=&quot;2vuk4&quot;&gt;Servo WebView for Qt&lt;/h2&gt;&lt;p data-block-key=&quot;bnu7a&quot;&gt;&lt;b&gt;Servo is a web rendering engine written in Rust&lt;/b&gt;&lt;/p&gt;&lt;p data-block-key=&quot;q2eva&quot;&gt;KDAB has built a demo of using &lt;a href=&quot;https://github.com/KDAB/cxx-qt&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;CXX-Qt&lt;/a&gt; to expose a web rendering engine written in Rust as a component to Qt.&lt;/p&gt;&lt;ul&gt;&lt;li data-block-key=&quot;v8ny6&quot;&gt;Uses CXX-Qt to bridge between Qt and &lt;a href=&quot;https://servo.org/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Servo&lt;/a&gt;&lt;/li&gt;&lt;li data-block-key=&quot;2obsz&quot;&gt;User interface built with Qt and QML&lt;/li&gt;&lt;li data-block-key=&quot;eoonn&quot;&gt;Servo renders safely in Rust&lt;/li&gt;&lt;/ul&gt;&lt;h2 id=&quot;developer-tools-for-qt-c-and-linux&quot; anchor=&quot;developer-tools-for-qt-c-and-linux&quot; data-block-key=&quot;70zeo&quot;&gt;Developer Tools for Qt, C++, and Linux&lt;/h2&gt;&lt;p data-block-key=&quot;oy3hp&quot;&gt;&lt;b&gt;Performance Optimization Tools&lt;/b&gt;&lt;/p&gt;&lt;p data-block-key=&quot;eyd3n&quot;&gt;A selection of useful developer tools for debugging and profiling&lt;/p&gt;&lt;ul&gt;&lt;li data-block-key=&quot;y7uev&quot;&gt;&lt;a href=&quot;https://github.com/KDAB/GammaRay&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;GammaRay:&lt;/a&gt; High-level introspection tool for Qt applications&lt;/li&gt;&lt;li data-block-key=&quot;aukoz&quot;&gt;&lt;a href=&quot;https://github.com/KDAB/KDDockWidgets&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;KDDockWidgets:&lt;/a&gt; KDAB&amp;#x27;s Dock Widget Framework for Qt&lt;/li&gt;&lt;li data-block-key=&quot;yg12u&quot;&gt;&lt;a href=&quot;https://github.com/KDE/clazy&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Clazy Static Code Analyzer:&lt;/a&gt; LLVM/Clang-based static analyzer for Qt&lt;/li&gt;&lt;li data-block-key=&quot;ovlw3&quot;&gt;&lt;a href=&quot;https://github.com/KDAB/hotspot&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Hotspot Profiler:&lt;/a&gt; GUI for Linux Perf to analyze profiling data&lt;/li&gt;&lt;li data-block-key=&quot;2nuou&quot;&gt;&lt;a href=&quot;https://github.com/KDE/heaptrack&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Heaptrack:&lt;/a&gt; Heap memory profiler and analysis GUI for Linux&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;p&gt;The post &lt;a href=&quot;https://www.kdab.com/kdab-at-embedded-software-engineering-kongress-ese/&quot;&gt;KDAB at Embedded Software Engineering Kongress&lt;/a&gt; appeared first on &lt;a href=&quot;https://www.kdab.com&quot;&gt;KDAB&lt;/a&gt;.&lt;/p&gt;</content:encoded><dc:creator>Editor Team</dc:creator><category>news</category></item><item><title>KDAB at Meeting C++ in Berlin</title><link>https://www.kdab.com/kdab-at-meeting-cpp/</link><guid isPermaLink="true">https://www.kdab.com/kdab-at-meeting-cpp/</guid><description>&lt;p data-block-key=&quot;pt2ph&quot;&gt;KDAB is a Gold Sponsor at this year’s Meeting C++, a highly recommended 3-day hybrid event for the European C++ community. Locate the KDAB booth on the entrance level and talk to experts Ivan Čukić and Milian Wolff on any of the event days. At the booth, you will also get a live demo of […]&lt;/p&gt;</description><pubDate>Mon, 30 Sep 2024 11:07:00 GMT</pubDate><content:encoded>&lt;h1&gt;KDAB at Meeting C++ in Berlin&lt;/h1&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;p data-block-key=&quot;rly76&quot;&gt;KDAB is a Gold Sponsor at this year’s &lt;a href=&quot;https://meetingcpp.com/2024/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Meeting C++&lt;/a&gt;, a highly recommended 3-day hybrid event for the European C++ community.&lt;/p&gt;&lt;p data-block-key=&quot;jnln1&quot;&gt;Locate the KDAB booth on the entrance level and talk to experts &lt;b&gt;Ivan Čukić&lt;/b&gt; and &lt;b&gt;Milian Wolff&lt;/b&gt; on any of the event days.&lt;/p&gt;&lt;p data-block-key=&quot;hpajd&quot;&gt;At the booth, you will also get a live demo of KDAB tools like &lt;a href=&quot;https://www.youtube.com/watch?v=vhD1WBaRLZI&amp;amp;list=PL6CJYn40gN6itybeSJb5FvRWOxVW5PCUX&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;GammaRay&lt;/a&gt;, &lt;a href=&quot;https://github.com/KDAB/hotspot&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Hotspot&lt;/a&gt;, &lt;a href=&quot;https://www.youtube.com/watch?v=mSME3ok5x2Y&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Heaptrack&lt;/a&gt;, and &lt;a href=&quot;https://github.com/KDE/clazy&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Clazy&lt;/a&gt;. Want to learn more about profiling tools for C/C++ applications? Watch &lt;a href=&quot;https://www.youtube.com/watch?v=GL0GIdj6k2Q&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;this&lt;/a&gt; video.&lt;/p&gt;&lt;p data-block-key=&quot;wmwkk&quot;&gt;Check out the &lt;a href=&quot;https://meetingcpp.com/2024/Schedule.html&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;schedule&lt;/a&gt; and find out more about the innovative way the organiser, Jens Weller, has set up this event for maximum benefit to the C++ community.&lt;/p&gt;&lt;/div&gt;

&lt;div class=&quot;rich-text&quot;&gt;&lt;h2 id=&quot;last-years-keynote-by-kdab-expert-ivan-cukic&quot; anchor=&quot;last-years-keynote-by-kdab-expert-ivan-cukic&quot; data-block-key=&quot;2ket&quot;&gt;Last year&amp;#x27;s Keynote by KDAB expert Ivan Čukić:&lt;/h2&gt;&lt;/div&gt;







&lt;div class=&quot;cookieconsent-optin-marketing overlay-embed-block&quot;&gt;
    &lt;div style=&quot;padding-bottom: 56.49999999999999%;&quot; class=&quot;responsive-object&quot;&gt;
    &lt;iframe width=&quot;200&quot; height=&quot;113&quot; src=&quot;https://www.youtube.com/embed/ceFEtCRIXk4?feature=oembed&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen title=&quot;Prog C++ - Ivan Čukić - Closing Keynote Meeting C++ 2023&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;/div&gt;




&lt;style&gt;
.overlay-embed-block .responsive-object {
    position: relative;
}

.overlay-embed-block .responsive-object iframe,
.overlay-embed-block .responsive-object object,
.overlay-embed-block .responsive-object embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
&lt;/style&gt;


&lt;p&gt;The post &lt;a href=&quot;https://www.kdab.com/kdab-at-meeting-cpp/&quot;&gt;KDAB at Meeting C++ in Berlin&lt;/a&gt; appeared first on &lt;a href=&quot;https://www.kdab.com&quot;&gt;KDAB&lt;/a&gt;.&lt;/p&gt;</content:encoded><dc:creator>Editor Team</dc:creator><category>news</category></item><item><title>KDAB at CppCon 2024</title><link>https://www.kdab.com/kdab-cppcon-2024/</link><guid isPermaLink="true">https://www.kdab.com/kdab-cppcon-2024/</guid><description>&lt;p&gt;CppCon is the annual, week-long face-to-face gathering for the entire C++ community – the biggest C++ event in the world. This year, CppCon takes place in Aurora, Colorado, near the Denver airport. Including multiple diverse tracks, the conference will appeal to anyone from C++ novices to experts. At CppCon, you can expect interesting talks and […]&lt;/p&gt;</description><pubDate>Mon, 12 Aug 2024 11:12:46 GMT</pubDate><content:encoded>&lt;h1&gt;KDAB at CppCon 2024&lt;/h1&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://cppcon.org/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;CppCon&lt;/a&gt; is the annual, week-long face-to-face gathering for the entire C++ community – the biggest C++ event in the world. This year, CppCon takes place in Aurora, Colorado, near the Denver airport. Including multiple diverse tracks, the conference will appeal to anyone from C++ novices to experts.&lt;/p&gt;&lt;p&gt;At CppCon, you can expect interesting talks and panels, presentations by the C++ community, lightning talks, and evening events.&lt;/p&gt;&lt;h2 id=&quot;meet-kdab&quot; anchor=&quot;meet-kdab&quot;&gt;Meet KDAB!&lt;/h2&gt;&lt;p&gt;KDAB’s Nate Rogers and Matt Aber welcome you to the KDAB table at the exhibitor section on September 17th and 18th. Get a &lt;b&gt;live demonstration&lt;/b&gt; of our highly appreciated and long-loved tools &lt;a href=&quot;https://www.kdab.com/software-technologies/developer-tools/gammaray/&quot;&gt;GammaRay&lt;/a&gt; and &lt;a href=&quot;https://www.kdab.com/hotspot-video/&quot;&gt;Hotspot&lt;/a&gt; or discuss topics like &lt;b&gt;performance optimization&lt;/b&gt;, &lt;b&gt;code modernization&lt;/b&gt;, or &lt;a href=&quot;https://www.kdab.com/kdabs-software-development-best-practices-part-7/&quot;&gt;integration of C++ and Rust&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Are you attending CppCon and want to make sure our paths cross? Let us know by reaching out to charlotte.johansson@kdab.com.&lt;/p&gt;&lt;p&gt;We hope to see you there!&lt;/p&gt;&lt;/div&gt;


&lt;div class=&quot;image-variable-size-block&quot;&gt;
    &lt;div class=&quot;image-variable-positioning-block right-margin-auto left-margin-auto width-50 &quot; &gt;
            &lt;div class=&quot;image-variable-size-image&quot;&gt;
                
                
                
                &lt;img id=&quot;logo-colored_2-1.png&quot; src=&quot;https://eu-central-1.linodeobjects.com/wagtail-production/images/logo-colored_2-1.original.png&quot; class=&quot;logo-colored_2-1.png&quot; alt=&quot;logo-colored_2-1.png&quot;&gt;
                
                
        &lt;/div&gt;
        &lt;div class=&quot;image-variable-size-caption text-center&quot;&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;/div&gt;&lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The post &lt;a href=&quot;https://www.kdab.com/kdab-cppcon-2024/&quot;&gt;KDAB at CppCon 2024&lt;/a&gt; appeared first on &lt;a href=&quot;https://www.kdab.com&quot;&gt;KDAB&lt;/a&gt;.&lt;/p&gt;</content:encoded><dc:creator>Editor Team</dc:creator><category>news</category><category>c++</category></item><item><title>Hotspot v1.5.0 released</title><link>https://www.kdab.com/hotspot-v1-5-0-released/</link><guid isPermaLink="true">https://www.kdab.com/hotspot-v1-5-0-released/</guid><description>&lt;p&gt;Hotspot is a standalone GUI designed to provide a user-friendly interface for analyzing performance data. It takes a perf.data file, parses and evaluates its contents, and presents the results in a visually appealing and easily understandable manner. Our goal with Hotspot is to offer a modern alternative to perf report, making performance analysis on Linux […]&lt;/p&gt;</description><pubDate>Fri, 26 Apr 2024 09:30:06 GMT</pubDate><content:encoded>&lt;h1&gt;Hotspot v1.5.0 released&lt;/h1&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://www.kdab.com/hotspot-video/&quot;&gt;Hotspot&lt;/a&gt; is a standalone GUI designed to provide a user-friendly interface for analyzing performance data. It takes a &lt;code&gt;perf.data&lt;/code&gt; file, parses and evaluates its contents, and presents the results in a visually appealing and easily understandable manner. Our goal with Hotspot is to offer a modern alternative to &lt;code&gt;perf report&lt;/code&gt;, making performance analysis on Linux systems more intuitive and efficient.&lt;/p&gt;&lt;h2 id=&quot;changelog-for-hotspot-v150&quot; anchor=&quot;changelog-for-hotspot-v150&quot;&gt;ChangeLog for Hotspot v1.5.0&lt;/h2&gt;&lt;p&gt;It comes packed with a wealth of code cleanups, bug fixes and new functionality. Most notably, the disassembly view has been further improved with better searching, highlighting and faster performance.&lt;/p&gt;&lt;/div&gt;


&lt;div class=&quot;image-variable-size-block&quot;&gt;
    &lt;div class=&quot;image-variable-positioning-block right-margin-auto left-margin-auto width-100 &quot; &gt;
            &lt;div class=&quot;image-variable-size-image&quot;&gt;
                
                
                
                &lt;img id=&quot;325754995-7495adda-a8df-435e-b14d-02071e940d2b.png&quot; src=&quot;https://eu-central-1.linodeobjects.com/wagtail-production/images/325754995-7495adda-a8df-435e-b14d-02071e940d2b.original.png&quot; class=&quot;325754995-7495adda-a8df-435e-b14d-02071e940d2b.png&quot; alt=&quot;325754995-7495adda-a8df-435e-b14d-02071e940d2b.png&quot;&gt;
                
                
        &lt;/div&gt;
        &lt;div class=&quot;image-variable-size-caption text-center&quot;&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;/div&gt;&lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;rich-text&quot;&gt;&lt;p&gt;Furthermore, we reworked the authentication mechanism to allow &lt;code&gt;perf record&lt;/code&gt; to be run directly, with elevated priveleges, via &lt;code&gt;pkexec&lt;/code&gt;, obsoleting the error prone old mechanism (see also &lt;a href=&quot;https://nvd.nist.gov/vuln/detail/CVE-2023-28144&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;https://nvd.nist.gov/vuln/detail/CVE-2023-28144&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;We now also fully support Qt6 and KF6, while keeping compatibility with Qt5 and KF5. The AppImage below is still built with Qt5 but it might be the last time that we do this. The next version might become Qt6 only.&lt;/p&gt;&lt;p&gt;Many thanks to the various contributors who help build this software, both by writing code as well as reporting bugs.&lt;/p&gt;&lt;p&gt;To get a more detailed scope over all the changes in this new release, check out the full &lt;a href=&quot;https://github.com/KDAB/hotspot/releases/tag/v1.5.0&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;changelog on GitHub&lt;/a&gt;. More information about Hotspot can be obtained on its &lt;a href=&quot;https://github.com/KDAB/hotspot&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;GitHub page&lt;/a&gt; or by watching &lt;a href=&quot;https://www.youtube.com/watch?v=6ogEkQ-vKt4&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;this video&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Happy profiling everyone 🚀&lt;/p&gt;&lt;/div&gt;&lt;p&gt;The post &lt;a href=&quot;https://www.kdab.com/hotspot-v1-5-0-released/&quot;&gt;Hotspot v1.5.0 released&lt;/a&gt; appeared first on &lt;a href=&quot;https://www.kdab.com&quot;&gt;KDAB&lt;/a&gt;.&lt;/p&gt;</content:encoded><category>qt</category><category>tools</category><category>linux</category><category>news</category><category>performance</category><category>qml</category></item><item><title>Meet KDAB at Embedded World 2024 - Hall 4-302</title><link>https://www.kdab.com/kdab-at-embedded-world-2024/</link><guid isPermaLink="true">https://www.kdab.com/kdab-at-embedded-world-2024/</guid><description>&lt;p data-block-key=&quot;7i1ii&quot;&gt;For the 14th time, KDAB exhibited at Embedded World - The meeting place for the global embedded community! Here, as expected, you got three days of pioneering technologies, solutions, new ideas, and intelligent concepts. Embedded World took place in Nürnberg, Germany from 9 - 11 April 2024 and the KDAB booth was in Hall 4-302 […]&lt;/p&gt;</description><pubDate>Wed, 28 Feb 2024 11:06:00 GMT</pubDate><content:encoded>&lt;h1&gt;Meet KDAB at Embedded World 2024 - Hall 4-302&lt;/h1&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;p data-block-key=&quot;applt&quot;&gt;For the 14th time, KDAB exhibited at &lt;a href=&quot;https://www.embedded-world.de/en&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Embedded World&lt;/a&gt; &lt;i&gt;- The meeting place for the global embedded community!&lt;/i&gt; Here, as expected, you got three days of pioneering technologies, solutions, new ideas, and intelligent concepts.&lt;/p&gt;&lt;p data-block-key=&quot;wi6s0&quot;&gt;Embedded World took place in Nürnberg, Germany from &lt;b&gt;9 - 11 April 2024&lt;/b&gt; and the &lt;b&gt;KDAB booth  was in Hall 4-302&lt;/b&gt; showcasing outstanding demos featuring &lt;b&gt;Qt, C++, 3D, Slint, Rust, and Flutter&lt;/b&gt;.&lt;/p&gt;&lt;p data-block-key=&quot;7n0gy&quot;&gt;Visitors could use the code &lt;b&gt;ew24518375&lt;/b&gt; to get a free ticket.&lt;/p&gt;&lt;p data-block-key=&quot;97cjq&quot;&gt;Here are the demos that you will have found at our booth, including an interstellar navigation interface built with Flutter...&lt;/p&gt;&lt;h2 id=&quot;augmenting-3d-support-for-machine-control&quot; anchor=&quot;augmenting-3d-support-for-machine-control&quot; data-block-key=&quot;9qge0&quot;&gt;Augmenting 3D Support for Machine Control&lt;/h2&gt;&lt;p data-block-key=&quot;x6opn&quot;&gt;&lt;b&gt;Interactive 3D rendering using Qt3D&lt;/b&gt;&lt;/p&gt;&lt;p data-block-key=&quot;fgur2&quot;&gt;KDAB helped &lt;a href=&quot;https://www.idig-system.com/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;iDig, a provider of excavator machine controls,&lt;/a&gt; implement 3D-related work: loading CAD files, mesh data structures and algorithms, and rendering.&lt;/p&gt;&lt;/div&gt;

&lt;div class=&quot;rich-text&quot;&gt;&lt;ul&gt;&lt;li data-block-key=&quot;dec0e&quot;&gt;Embedded software for the control of machinery&lt;/li&gt;&lt;li data-block-key=&quot;dwccj&quot;&gt;Integrate design models and field data&lt;/li&gt;&lt;li data-block-key=&quot;rqa9h&quot;&gt;Highly configurable user interface&lt;/li&gt;&lt;li data-block-key=&quot;l7ttg&quot;&gt;Embedded Linux system, C++ &amp;amp; Qt application&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;


&lt;div class=&quot;image-variable-size-block&quot;&gt;
    &lt;div class=&quot;image-variable-positioning-block right-margin-auto left-margin-auto width-100 &quot; &gt;
            &lt;div class=&quot;image-variable-size-image&quot;&gt;
                
                
                    &lt;a href=&quot;https://www.qt.io/ew_2024&quot; title=&quot;Built_with_Qt_Pine_RGB.png&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; &gt;
                
                
                &lt;img id=&quot;Built_with_Qt_Pine_RGB.png&quot; src=&quot;https://eu-central-1.linodeobjects.com/wagtail-production/images/Built_with_Qt_Pine_RGB.original.png&quot; class=&quot;Built_with_Qt_Pine_RGB.png&quot; alt=&quot;Built_with_Qt_Pine_RGB.png&quot;&gt;
                
                
                    &lt;/a&gt;
                
        &lt;/div&gt;
        &lt;div class=&quot;image-variable-size-caption text-center&quot;&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;/div&gt;&lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;rich-text&quot;&gt;&lt;h2 id=&quot;developing-next-generation-ui-for-an-ev-charger&quot; anchor=&quot;developing-next-generation-ui-for-an-ev-charger&quot; data-block-key=&quot;i7tio&quot;&gt;Developing Next Generation UI for an EV Charger&lt;/h2&gt;&lt;p data-block-key=&quot;hog9m&quot;&gt;&lt;b&gt;High-quality touch-based interface based on Slint&lt;/b&gt;&lt;/p&gt;&lt;p data-block-key=&quot;htnkp&quot;&gt;KDAB and &lt;a href=&quot;https://www.tqcs.io/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;tQCS&lt;/a&gt; used &lt;a href=&quot;https://slint.dev/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Slint, a UI toolkit built with Rust,&lt;/a&gt; to overhaul the user interface of SK Signet&amp;#x27;s flagship Electric Vehicle charger.&lt;/p&gt;&lt;/div&gt;

&lt;div class=&quot;rich-text&quot;&gt;&lt;ul&gt;&lt;li data-block-key=&quot;fjcu&quot;&gt;15-inch and 32-inch variants with dynamic dark/light mode&lt;/li&gt;&lt;li data-block-key=&quot;p2xmn&quot;&gt;Video playback with FFmpeg and networking with Curl&lt;/li&gt;&lt;li data-block-key=&quot;eu333&quot;&gt;Windows 10 IoT embedded hardware&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;


&lt;div class=&quot;image-variable-size-block&quot;&gt;
    &lt;div class=&quot;image-variable-positioning-block right-margin-auto left-margin-auto width-100 &quot; &gt;
            &lt;div class=&quot;image-variable-size-image&quot;&gt;
                
                
                
                &lt;img id=&quot;MadeWithSlint-logo-light.svg&quot; src=&quot;https://eu-central-1.linodeobjects.com/wagtail-production/images/MadeWithSlint-logo-light.original.svg&quot; class=&quot;MadeWithSlint-logo-light.svg&quot; alt=&quot;MadeWithSlint-logo-light.svg&quot;&gt;
                
                
        &lt;/div&gt;
        &lt;div class=&quot;image-variable-size-caption text-center&quot;&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;/div&gt;&lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;rich-text&quot;&gt;&lt;h2 id=&quot;modernizing-an-embedded-charge-amplifier-ui-with-qt&quot; anchor=&quot;modernizing-an-embedded-charge-amplifier-ui-with-qt&quot; data-block-key=&quot;xrmme&quot;&gt;Modernizing an Embedded Charge Amplifier UI with Qt&lt;/h2&gt;&lt;p data-block-key=&quot;md0ru&quot;&gt;&lt;b&gt;Multi Value Measurements device brought to market readiness&lt;/b&gt;&lt;/p&gt;&lt;p data-block-key=&quot;t65jv&quot;&gt;Starting from a legacy codebase, KDAB implemented a multi-measurement channel architecture, extended the UI, and improved stability and performance to reach production quality. The device helps with verification and quality control processes with sensitive measurements in cramped spaces.&lt;/p&gt;&lt;/div&gt;

&lt;div class=&quot;rich-text&quot;&gt;&lt;ul&gt;&lt;li data-block-key=&quot;99eef&quot;&gt;Graphing and Result-Visualization of a High-Precision Measurement Process&lt;/li&gt;&lt;li data-block-key=&quot;me1sx&quot;&gt;User Interface built with Qt and QML&lt;/li&gt;&lt;li data-block-key=&quot;8iubu&quot;&gt;Maintaining 2 Product Variants in 1 Software Solution&lt;/li&gt;&lt;li data-block-key=&quot;f80bd&quot;&gt;Texas Instruments AM335x Sitara, 1 x 1Ghz, with GPU&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;


&lt;div class=&quot;image-variable-size-block&quot;&gt;
    &lt;div class=&quot;image-variable-positioning-block right-margin-auto left-margin-auto width-100 &quot; &gt;
            &lt;div class=&quot;image-variable-size-image&quot;&gt;
                
                
                    &lt;a href=&quot;https://www.qt.io/ew_2024&quot; title=&quot;Built_with_Qt_Pine_RGB.png&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; &gt;
                
                
                &lt;img id=&quot;Built_with_Qt_Pine_RGB.png&quot; src=&quot;https://eu-central-1.linodeobjects.com/wagtail-production/images/Built_with_Qt_Pine_RGB.original.png&quot; class=&quot;Built_with_Qt_Pine_RGB.png&quot; alt=&quot;Built_with_Qt_Pine_RGB.png&quot;&gt;
                
                
                    &lt;/a&gt;
                
        &lt;/div&gt;
        &lt;div class=&quot;image-variable-size-caption text-center&quot;&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;/div&gt;&lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;rich-text&quot;&gt;&lt;h2 id=&quot;cxx-qt-safe-rust-bindings-for-qt&quot; anchor=&quot;cxx-qt-safe-rust-bindings-for-qt&quot; data-block-key=&quot;p880y&quot;&gt;CXX-Qt - Safe Rust Bindings for Qt&lt;/h2&gt;&lt;p data-block-key=&quot;mcire&quot;&gt;&lt;b&gt;Integration for C++ and Rust applications&lt;/b&gt;&lt;/p&gt;&lt;p data-block-key=&quot;h6937&quot;&gt;KDAB supports and maintains &lt;a href=&quot;https://github.com/KDAB/cxx-qt&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;CXX-Qt&lt;/a&gt;. A set of Rust crates for creating bidirectional Rust ⇄ C++ bindings with Qt. It can be used to integrate Rust into C++ applications using CMake or used to build Rust applications with Cargo.&lt;/p&gt;&lt;/div&gt;

&lt;div class=&quot;rich-text&quot;&gt;&lt;ul&gt;&lt;li data-block-key=&quot;f3lke&quot;&gt;Enables Rust and C++ ecosystems to be used in the same application&lt;/li&gt;&lt;li data-block-key=&quot;vg3d4&quot;&gt;Allows for idiomatic Rust and C++ code&lt;/li&gt;&lt;li data-block-key=&quot;cfc6n&quot;&gt;Integrates easily into existing applications&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;


&lt;div class=&quot;image-variable-size-block&quot;&gt;
    &lt;div class=&quot;image-variable-positioning-block right-margin-auto left-margin-auto width-100 &quot; &gt;
            &lt;div class=&quot;image-variable-size-image&quot;&gt;
                
                
                    &lt;a href=&quot;https://www.qt.io/ew_2024&quot; title=&quot;Built_with_Qt_Pine_RGB.png&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; &gt;
                
                
                &lt;img id=&quot;Built_with_Qt_Pine_RGB.png&quot; src=&quot;https://eu-central-1.linodeobjects.com/wagtail-production/images/Built_with_Qt_Pine_RGB.original.png&quot; class=&quot;Built_with_Qt_Pine_RGB.png&quot; alt=&quot;Built_with_Qt_Pine_RGB.png&quot;&gt;
                
                
                    &lt;/a&gt;
                
        &lt;/div&gt;
        &lt;div class=&quot;image-variable-size-caption text-center&quot;&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;/div&gt;&lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;rich-text&quot;&gt;&lt;h2 id=&quot;3d-embedded-interstellar-navigation-interface&quot; anchor=&quot;3d-embedded-interstellar-navigation-interface&quot; data-block-key=&quot;3n8y1&quot;&gt;3D Embedded Interstellar Navigation Interface&lt;/h2&gt;&lt;p data-block-key=&quot;2xihb&quot;&gt;&lt;b&gt;Flutter on embedded hardware using&lt;/b&gt; &lt;a href=&quot;https://github.com/ardera/flutter-pi&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;flutter-pi&lt;/b&gt;&lt;/a&gt;&lt;b&gt; and CAN-Bus Integration&lt;/b&gt;&lt;/p&gt;&lt;p data-block-key=&quot;p1q7j&quot;&gt;To demonstrate the capabilities of Flutter on embedded we developed an interstellar navigation interface.&lt;/p&gt;&lt;ul&gt;&lt;li data-block-key=&quot;0jc4z&quot;&gt;Smooth 3D components, running at 60fps&lt;/li&gt;&lt;li data-block-key=&quot;kgvol&quot;&gt;Physical buttons connected via CAN-Bus (CANopen)&lt;/li&gt;&lt;li data-block-key=&quot;717d9&quot;&gt;Flutter Embedder: flutter-pi&lt;/li&gt;&lt;li data-block-key=&quot;nrnzj&quot;&gt;Image built with Yocto and meta-flutter&lt;/li&gt;&lt;li data-block-key=&quot;306k7&quot;&gt;Hardware: Toradex Verdin AM62, 4x Cortex-A53, 2GB RAM, PowerVR AXE-1-16M GPU&lt;/li&gt;&lt;/ul&gt;&lt;h2 id=&quot;developer-tools-for-qt-c-and-linux&quot; anchor=&quot;developer-tools-for-qt-c-and-linux&quot; data-block-key=&quot;j9054&quot;&gt;Developer Tools for Qt, C++, and Linux&lt;/h2&gt;&lt;p data-block-key=&quot;tfnbh&quot;&gt;&lt;b&gt;A selection of useful developer tools for debugging and profiling&lt;/b&gt;&lt;/p&gt;&lt;p data-block-key=&quot;56xtv&quot;&gt;GammaRay: Remote Embedded Introspection&lt;/p&gt;&lt;p data-block-key=&quot;luj9w&quot;&gt;Using &lt;a href=&quot;https://www.kdab.com/software-technologies/developer-tools/gammaray/&quot;&gt;GammaRay&lt;/a&gt;, we introspect a Qt-based game at runtime on the SteamDeck (which is powered by KDE Plasma).&lt;/p&gt;&lt;ul&gt;&lt;li data-block-key=&quot;x7tix&quot;&gt;Inspection of a Qt-based SteamDeck game&lt;/li&gt;&lt;li data-block-key=&quot;lzzry&quot;&gt;Full remote Qt introspection capabilities&lt;/li&gt;&lt;li data-block-key=&quot;4jusb&quot;&gt;Visual forwarding and remote control&lt;/li&gt;&lt;li data-block-key=&quot;nn0uh&quot;&gt;Injection without recompilation of target software&lt;/li&gt;&lt;/ul&gt;&lt;p data-block-key=&quot;d76aw&quot;&gt;Further, there are also &lt;a href=&quot;https://www.kdab.com/hotspot-video/&quot;&gt;Hotspot&lt;/a&gt;, &lt;a href=&quot;https://github.com/KDE/heaptrack&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Heaptrack&lt;/a&gt;, and &lt;a href=&quot;https://github.com/KDE/clazy&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Clazy&lt;/a&gt;, which are all useful helpers to make your code more performant.&lt;/p&gt;&lt;p data-block-key=&quot;ehglf&quot;&gt;Last but not least, for those needing an advanced docking solution for Qt applications, the &lt;a href=&quot;https://github.com/KDAB/KDDockWidgets&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;KDDockWidgets&lt;/a&gt; demo.&lt;/p&gt;&lt;/div&gt;

&lt;div class=&quot;rich-text&quot;&gt;&lt;ul&gt;&lt;li data-block-key=&quot;7j2e7&quot;&gt;KD DockWidgets: KDAB&amp;#x27;s Dock Widget Framework for Qt&lt;/li&gt;&lt;li data-block-key=&quot;di3a1&quot;&gt;Clazy Static Code Analyzer: LLVM/Clang-based static analyzer for Qt&lt;/li&gt;&lt;li data-block-key=&quot;jinx6&quot;&gt;Hotspot Profiler: GUI for Linux Perf to analyze profiling data&lt;/li&gt;&lt;li data-block-key=&quot;um5n8&quot;&gt;Heaptrack: Heap memory profiler and analysis GUI for Linux&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;


&lt;div class=&quot;image-variable-size-block&quot;&gt;
    &lt;div class=&quot;image-variable-positioning-block right-margin-auto left-margin-auto width-100 &quot; &gt;
            &lt;div class=&quot;image-variable-size-image&quot;&gt;
                
                
                    &lt;a href=&quot;https://www.qt.io/ew_2024&quot; title=&quot;Built_with_Qt_Pine_RGB.png&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; &gt;
                
                
                &lt;img id=&quot;Built_with_Qt_Pine_RGB.png&quot; src=&quot;https://eu-central-1.linodeobjects.com/wagtail-production/images/Built_with_Qt_Pine_RGB.original.png&quot; class=&quot;Built_with_Qt_Pine_RGB.png&quot; alt=&quot;Built_with_Qt_Pine_RGB.png&quot;&gt;
                
                
                    &lt;/a&gt;
                
        &lt;/div&gt;
        &lt;div class=&quot;image-variable-size-caption text-center&quot;&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;/div&gt;&lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;rich-text&quot;&gt;&lt;h2 id=&quot;getting-started-with-customized-embedded-linux&quot; anchor=&quot;getting-started-with-customized-embedded-linux&quot; data-block-key=&quot;wbprx&quot;&gt;Getting Started with Customized Embedded Linux&lt;/h2&gt;&lt;p data-block-key=&quot;itt2s&quot;&gt;&lt;b&gt;Free four-part guide for Designing your first Embedded Linux device&lt;/b&gt;&lt;/p&gt;&lt;p data-block-key=&quot;b3ga8&quot;&gt;Embedded Linux is widely used on embedded devices. Still, it is not trivial to implement. We have created a &lt;a href=&quot;https://www.kdab.com/embedded-linux-framing-the-development-process/&quot;&gt;comprehensive guide&lt;/a&gt;, starting from framing the development process, via choosing the software stack and the hardware to setting up your development environment.&lt;/p&gt;&lt;h2 id=&quot;brochures-whitepapers-articles&quot; anchor=&quot;brochures-whitepapers-articles&quot; data-block-key=&quot;obopi&quot;&gt;Brochures, Whitepapers &amp;amp; Articles&lt;/h2&gt;&lt;p data-block-key=&quot;78cz7&quot;&gt;In the booth, we had a digital brochure kiosk with access to all &lt;a href=&quot;https://www.kdab.com/resources/?tags=publication&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;KDAB brochures, whitepapers, and articles&lt;/a&gt;. Here, you could easily scan the material you were interested in with your phone or grab a physical copy from our selection.&lt;/p&gt;&lt;p data-block-key=&quot;1njs3&quot;&gt;Whether you like to dive into our multi-part series &lt;a href=&quot;https://www.kdab.com/best-practices-embedded-development/&quot;&gt;&amp;quot;Best Practices for Embedded Development&amp;quot;&lt;/a&gt; or &lt;a href=&quot;https://www.kdab.com/kdabs-software-development-best-practices-part-7/&quot;&gt;&amp;quot;Building Hybrid Rust and C/C++ Applications&amp;quot;&lt;/a&gt;? KDAB has got you covered.&lt;/p&gt;&lt;h2 id=&quot;the-free-ticket&quot; anchor=&quot;the-free-ticket&quot; data-block-key=&quot;0hejw&quot;&gt;The free ticket!&lt;/h2&gt;&lt;p data-block-key=&quot;gljkt&quot;&gt;We invited folk to visit &lt;a href=&quot;https://www.messe-ticket.de/Nuernberg/embeddedworld2024/Register/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Embedded World&lt;/a&gt; free of charge with our voucher code &lt;b&gt;ew24518375. &lt;/b&gt;&lt;/p&gt;&lt;/div&gt;


&lt;div class=&quot;image-variable-size-block&quot;&gt;
    &lt;div class=&quot;image-variable-positioning-block right-margin-auto left-margin-auto width-75 &quot; &gt;
            &lt;div class=&quot;image-variable-size-image&quot;&gt;
                
                
                
                &lt;img id=&quot;embedded-world-2024-en-SoMe-Asset-Facebook-WSD-1200x630px.jpg&quot; src=&quot;https://eu-central-1.linodeobjects.com/wagtail-production/images/embedded-world-2024-en-SoMe-Asset-Facebook-WSD-.original.jpg&quot; class=&quot;embedded-world-2024-en-SoMe-Asset-Facebook-WSD-1200x630px.jpg&quot; alt=&quot;embedded-world-2024-en-SoMe-Asset-Facebook-WSD-1200x630px.jpg&quot;&gt;
                
                
        &lt;/div&gt;
        &lt;div class=&quot;image-variable-size-caption text-center&quot;&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;/div&gt;&lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The post &lt;a href=&quot;https://www.kdab.com/kdab-at-embedded-world-2024/&quot;&gt;Meet KDAB at Embedded World 2024 - Hall 4-302&lt;/a&gt; appeared first on &lt;a href=&quot;https://www.kdab.com&quot;&gt;KDAB&lt;/a&gt;.&lt;/p&gt;</content:encoded><dc:creator>Editor Team</dc:creator><category>embedded</category><category>news</category></item><item><title>KDSoap 2.2.0 Released</title><link>https://www.kdab.com/kdsoap-2-2-0-released/</link><guid isPermaLink="true">https://www.kdab.com/kdsoap-2-2-0-released/</guid><description>&lt;p data-block-key=&quot;tdu6t&quot;&gt;We&amp;#x27;re pleased to announce the release of KDSoap version 2.2.0, an update that brings new enhancements to improve both the general build system and client-side functionality. What is KDSoap? KDSoap, a SOAP (“Simple Object Access Protocol“) component rooted in Qt, serves as an essential tool for both client-side and server-side operations. Tailored for C++ programmers […]&lt;/p&gt;</description><pubDate>Fri, 12 Jan 2024 12:30:00 GMT</pubDate><content:encoded>&lt;h1&gt;KDSoap 2.2.0 Released&lt;/h1&gt;
&lt;div class=&quot;rich-text&quot;&gt;&lt;p data-block-key=&quot;6pbuy&quot;&gt;We&amp;#x27;re pleased to announce the release of KDSoap version 2.2.0, an update that brings new enhancements to improve both the general build system and client-side functionality.&lt;/p&gt;&lt;/div&gt;


&lt;div class=&quot;image-variable-size-block&quot;&gt;
    &lt;div class=&quot;image-variable-positioning-block right-margin-zero left-margin-auto width-50 &quot; &gt;
            &lt;div class=&quot;image-variable-size-image&quot;&gt;
                
                
                
                &lt;img id=&quot;kdsoap128.png&quot; src=&quot;https://eu-central-1.linodeobjects.com/wagtail-production/images/kdsoap128.original.png&quot; class=&quot;kdsoap128.png&quot; alt=&quot;kdsoap128.png&quot;&gt;
                
                
        &lt;/div&gt;
        &lt;div class=&quot;image-variable-size-caption text-center&quot;&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;/div&gt;&lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;rich-text&quot;&gt;&lt;h2 id=&quot;what-is-kdsoap&quot; anchor=&quot;what-is-kdsoap&quot; data-block-key=&quot;2kgk7&quot;&gt;What is KDSoap?&lt;/h2&gt;&lt;p data-block-key=&quot;hyroo&quot;&gt;KDSoap, a SOAP (“Simple Object Access Protocol“) component rooted in Qt, serves as an essential tool for both client-side and server-side operations. Tailored for C++ programmers using Qt, it not only facilitates the creation of client applications for web services but also empowers developers to seamlessly build web services without requiring additional components like dedicated web servers. For further details on KDSoap, visit &lt;a href=&quot;https://www.kdab.com/software-technologies/developer-tools/kd-soap/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;h2 id=&quot;whats-new-in-kdsoap-version-220&quot; anchor=&quot;whats-new-in-kdsoap-version-220&quot; data-block-key=&quot;a0gea&quot;&gt;What&amp;#x27;s New in KDSoap Version 2.2.0?&lt;/h2&gt;&lt;p data-block-key=&quot;5mrye&quot;&gt;&lt;b&gt;Build System Co-installability:&lt;/b&gt; The buildsystem now supports the co-installability of Qt 5 and Qt 6 headers. Qt 6 headers are installed into their dedicated subdirectory. This ensures compatibility with client code and allows co-installation with Qt 5.&lt;/p&gt;&lt;p data-block-key=&quot;pprmi&quot;&gt;&lt;b&gt;Client-Side:&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li data-block-key=&quot;1ldw5&quot;&gt;&lt;b&gt;WS-Addressing Support:&lt;/b&gt; The new release adds &lt;code&gt;KDSoapClientInterface::setMessageAddressingProperties()&lt;/code&gt;. This addition enables the use of WS-Addressing support specifically with WSDL-generated services.&lt;/li&gt;&lt;li data-block-key=&quot;bvp9u&quot;&gt;&lt;b&gt;SOAP Action Requirement Removal:&lt;/b&gt; KDSoap no longer requires a SOAP action for writing addressing properties.&lt;/li&gt;&lt;/ul&gt;&lt;p data-block-key=&quot;897oy&quot;&gt;&lt;b&gt;WSDL Parser / Code Generator Changes:&lt;/b&gt;&lt;/p&gt;&lt;p data-block-key=&quot;1ysbr&quot;&gt;&lt;b&gt;Enhanced &lt;/b&gt;&lt;b&gt;&lt;code&gt;-import-path Support&lt;/code&gt;&lt;/b&gt;&lt;b&gt;:&lt;/b&gt; Notable changes have been made to the WSDL parser and code generator, impacting both client and server sides. The update improves &lt;code&gt;-import-path&lt;/code&gt; support by incorporating the import path in more areas within the code. This refinement enhances the overall functionality of the parser and code generator.&lt;/p&gt;&lt;p data-block-key=&quot;nbxog&quot;&gt;These updates collectively contribute to a more streamlined and efficient experience for KDSoap users, addressing specific issues and introducing valuable features to facilitate seamless integration with Qt-based applications. For detailed information and to explore these enhancements, we refer to the KDSoap documentation accompanying version 2.2.0 on &lt;a href=&quot;https://github.com/KDAB/KDSoap/releases/tag/kdsoap-2.2.0&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;&lt;h2 id=&quot;how-to-get-started-with-kdsoap-version-220&quot; anchor=&quot;how-to-get-started-with-kdsoap-version-220&quot; data-block-key=&quot;8w6g5&quot;&gt;How to Get Started with KDSoap Version 2.2.0?&lt;/h2&gt;&lt;p data-block-key=&quot;rwglk&quot;&gt;For existing users, upgrading to the latest version is as simple as downloading the new release from the &lt;a href=&quot;https://github.com/KDAB/KDSoap/releases/tag/kdsoap-2.2.0&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;GitHub page&lt;/a&gt;. If you are new to KDSoap, we &lt;a href=&quot;https://github.com/KDAB/KDSoap&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;invite you&lt;/a&gt; to explore its capabilities and discover how it can streamline your web service development process.&lt;/p&gt;&lt;p data-block-key=&quot;47c60&quot;&gt;As always, we appreciate your feedback and contributions to make KDSoap even better. Feel free to reach out to us with any questions, suggestions or bug reports on &lt;a href=&quot;https://github.com/KDAB/KDSoap&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;our GitHub repository&lt;/a&gt;.&lt;/p&gt;&lt;p data-block-key=&quot;lftug&quot;&gt;Thank you for choosing KDSoap, and happy coding!&lt;/p&gt;&lt;/div&gt;&lt;p&gt;The post &lt;a href=&quot;https://www.kdab.com/kdsoap-2-2-0-released/&quot;&gt;KDSoap 2.2.0 Released&lt;/a&gt; appeared first on &lt;a href=&quot;https://www.kdab.com&quot;&gt;KDAB&lt;/a&gt;.&lt;/p&gt;</content:encoded><dc:creator>Editor Team</dc:creator><category>c++</category><category>news</category><category>qml</category><category>qt</category><category>tools</category></item><item><title>CXX-Qt 0.6 Release</title><link>https://www.kdab.com/cxx-qt-0-6/</link><guid isPermaLink="true">https://www.kdab.com/cxx-qt-0-6/</guid><description>&lt;p&gt;We just released CXX-Qt version 0.6! CXX-Qt is a set of Rust crates for creating bidirectional Rust ⇄ C++ bindings with Qt. It can be used to integrate Rust into C++ applications using CMake or build Rust applications with Cargo. CXX-Qt provides tools for implementing QObject subclasses in Rust that can be used from C++, […]&lt;/p&gt;</description><pubDate>Fri, 24 Nov 2023 11:30:26 GMT</pubDate><content:encoded>&lt;h1&gt;CXX-Qt 0.6 Release&lt;/h1&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;p&gt;We just released CXX-Qt version 0.6!&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.kdab.com/cxx-qt/&quot;&gt;CXX-Qt&lt;/a&gt; is a set of Rust crates for creating bidirectional Rust ⇄ C++ bindings with Qt. It can be used to integrate Rust into C++ applications using CMake or build Rust applications with Cargo. CXX-Qt provides tools for implementing QObject subclasses in Rust that can be used from C++, QML, and JavaScript.&lt;/p&gt;&lt;p&gt;For 0.6, we&apos;re excited to announce that we&apos;re on the road to stabilization! 🥳&lt;br/&gt;
We&apos;ve done a (hopefully final) iteration of our API and are now happier than ever to release it.&lt;/p&gt;&lt;p&gt;The new API is now truly in the spirit of CXX.&lt;br/&gt;
All implementation has moved out of the &lt;code&gt;#[cxx_qt::bridge]&lt;/code&gt; and is now simply outside the bridge, like it is for CXX as well.&lt;br/&gt;
To get an overview of the new API, check out our &lt;a href=&quot;https://github.com/KDAB/cxx-qt/issues/555&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;the planned 1.0 API&lt;/a&gt;, which is available starting with this release.&lt;/p&gt;&lt;p&gt;Check out the new release through the usual channels:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://kdab.github.io/cxx-qt/book/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;The CXX-Qt book&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.rs/cxx-qt/latest/cxx_qt/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;The CXX-Qt documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.rs/cxx-qt-lib/latest/cxx_qt_lib/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;The CXX-Qt-lib documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/KDAB/cxx-qt&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Our Github repository&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Some of the more extensive developer-facing changes are listed below.&lt;/p&gt;&lt;h2 id=&quot;new-cxx-style-api&quot; anchor=&quot;new-cxx-style-api&quot;&gt;New CXX-style API&lt;/h2&gt;&lt;h3 id=&quot;extern-cqt&quot; anchor=&quot;extern-cqt&quot;&gt;extern &quot;C++Qt&quot;&lt;/h3&gt;&lt;p&gt;Like &lt;code&gt;extern &quot;C++&quot;&lt;/code&gt; in CXX, the &lt;code&gt;extern &quot;C++Qt&quot;&lt;/code&gt; block now only uses a declaration-like syntax to expose functionality to C++/Qt.&lt;br/&gt;
This is an extension to CXX&apos;s &lt;code&gt;extern &quot;C++&quot;&lt;/code&gt; blocks, which allow defining methods as &lt;code&gt;#[qsignal]&lt;/code&gt;.&lt;br/&gt;
These signals can then be emitted from Rust, as well as connected to.&lt;/p&gt;&lt;h3 id=&quot;extern-rustqt&quot; anchor=&quot;extern-rustqt&quot;&gt;extern &quot;RustQt&quot;&lt;/h3&gt;&lt;p&gt;Like &lt;code&gt;extern &quot;Rust&quot;&lt;/code&gt; in CXX, the &lt;code&gt;extern &quot;RustQt&quot;&lt;/code&gt; block now only uses a declaration-like syntax to expose functionality to C++/Qt.&lt;br/&gt;
Most existing features have moved to an attribute-syntax, which should look very familiar to existing Qt developers.&lt;/p&gt;&lt;p&gt;&lt;b&gt;The new API includes:&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;#[qobject]&lt;/code&gt; is now on a type alias to distinguish between QObject and Rust struct clearer&lt;/li&gt;
&lt;li&gt;&lt;code&gt;#[qproperty(...)]&lt;/code&gt; is now just an attribute on the &lt;code&gt;#[qobject]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;#[inherit]&lt;/code&gt;,&lt;code&gt;#[qsignal]&lt;/code&gt; &amp;amp; &lt;code&gt;#[qinvokable]&lt;/code&gt; have now moved to attributes of external function declarations. They can also now be freely mixed&lt;/li&gt;
&lt;li&gt;&lt;code&gt;#[cxx_override]&lt;/code&gt;, &lt;code&gt;#[cxx_final]&lt;/code&gt;, &lt;code&gt;#[cxx_virtual]&lt;/code&gt; are now independent attributes rather than imbedded in &lt;code&gt;#[qinvokable]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h3 id=&quot;support-for-qt-enums-as-shared-types&quot; anchor=&quot;support-for-qt-enums-as-shared-types&quot;&gt;Support for Qt enums as shared types&lt;/h3&gt;&lt;p&gt;Like shared types in CXX, enums for Qt can be declared using a shared enum in the bridge.&lt;br/&gt;
These can be defined using the &lt;code&gt;#[qenum]&lt;/code&gt; attribute and &lt;code&gt;qnamespace!(...)&lt;/code&gt; macro.&lt;/p&gt;&lt;h3 id=&quot;implementation-is-outside-the-bridge&quot; anchor=&quot;implementation-is-outside-the-bridge&quot;&gt;Implementation is outside the bridge&lt;/h3&gt;&lt;p&gt;Like CXX the implementations on types are now defined outside of the bridge rather than inside.&lt;br/&gt;
This allows you to choose the prefix for QObjects, as the hard-coded &lt;code&gt;qobject::&lt;/code&gt; prefix is now simply the name of the &lt;code&gt;#[cxx_qt::bridge]&lt;/code&gt; module.&lt;/p&gt;&lt;p&gt;Another great new feature in this release: Connecting to Signals via Rust is now possible!&lt;br/&gt;
Simply use the &lt;code&gt;on_[SIGNAL-NAME]&lt;/code&gt;/&lt;code&gt;connect_[SIGNAL-NAME]&lt;/code&gt; methods generated for each signal.&lt;br/&gt;
Closures are supported when connecting to signals as well.&lt;/p&gt;&lt;h3 id=&quot;qml-modules-can-now-be-built&quot; anchor=&quot;qml-modules-can-now-be-built&quot;&gt;QML modules can now be built&lt;/h3&gt;&lt;p&gt;The build system has been improved so that QML modules can now be output by CXX-Qt. This allows for using the declarative syntax of &lt;code&gt;#[qml_element]&lt;/code&gt; and &lt;code&gt;#[qml_singleton]&lt;/code&gt; on a &lt;code&gt;#[qobject]&lt;/code&gt;, whereas before Rust QObject types needed to be registered in C++ with the QML engine.&lt;/p&gt;&lt;/div&gt;


&lt;div class=&quot;formatted-code&quot;&gt;
    &lt;pre&gt;&lt;code class=&quot;language-rust  line-numbers &quot;&gt;use cxx_qt_build::{CxxQtBuilder, QmlModule};
fn main() {
    CxxQtBuilder::new()
        .qml_module(QmlModule {
            uri: &amp;quot;com.kdab.cxx_qt.demo&amp;quot;,
            rust_files: &amp;amp;[&amp;quot;src/cxx_qt_bridge.rs&amp;quot;],
            qml_files: &amp;amp;[&amp;quot;qml/main.qml&amp;quot;],
            ..Default::default()
        })
        .build();
}
&lt;/code&gt;&lt;/pre&gt;
 &lt;/div&gt;


&lt;div class=&quot;rich-text&quot;&gt;&lt;p&gt;This should also allow for tooling to inspect QML modules that were generated from Rust in the future.&lt;/p&gt;&lt;h3 id=&quot;new-traits-for-shaping-code-generation-and-interacting-with-features&quot; anchor=&quot;new-traits-for-shaping-code-generation-and-interacting-with-features&quot;&gt;New traits for shaping code generation and interacting with features&lt;/h3&gt;&lt;p&gt;Most features of the CXX-Qt code generation are now expressed through Rust traits and can be enabled/disabled or otherwise configured using a syntax similar to CXX &lt;a href=&quot;https://cxx.rs/extern-c++.html#explicit-shim-trait-impls&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;shim trait impls&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;New features&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Custom constructors through &lt;code&gt;cxx_qt::Constructor&lt;/code&gt; - this drops the requirement for &lt;code&gt;Default&lt;/code&gt; on the Rust struct.&lt;/li&gt;
&lt;li&gt;Easy default-constructor implementation through &lt;code&gt;cxx_qt::Initialize&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cxx_qt::CxxQtType&lt;/code&gt; trait for reflection and less &quot;magic&quot; methods.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;b&gt;Existing features that can now be enabled/disabled:&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Threading through the &lt;code&gt;cxx_qt::Threading&lt;/code&gt; trait.&lt;/li&gt;
&lt;li&gt;Locking through the &lt;code&gt;cxx_qt::Locking&lt;/code&gt; trait.&lt;/li&gt;
&lt;/ul&gt;&lt;h4 id=&quot;thanks-to-all-of-our-contributors-that-helped-us-with-this-release&quot; anchor=&quot;thanks-to-all-of-our-contributors-that-helped-us-with-this-release&quot;&gt;Thanks to all of our contributors that helped us with this release&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;Be Wilson&lt;/li&gt;
&lt;li&gt;Laurent Montel&lt;/li&gt;
&lt;li&gt;Olivier Le Doeuff&lt;/li&gt;
&lt;li&gt;Jimmy van Hest&lt;/li&gt;
&lt;li&gt;Michael (aka @mmMike)&lt;/li&gt;
&lt;li&gt;Cyril Jacquet&lt;/li&gt;
&lt;li&gt;Magnus Groß&lt;/li&gt;
&lt;li&gt;jimmyvanhest&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;p&gt;The post &lt;a href=&quot;https://www.kdab.com/cxx-qt-0-6/&quot;&gt;CXX-Qt 0.6 Release&lt;/a&gt; appeared first on &lt;a href=&quot;https://www.kdab.com&quot;&gt;KDAB&lt;/a&gt;.&lt;/p&gt;</content:encoded><dc:creator/><category>tools</category><category>news</category><category>rust</category><category>qt</category><category>qml</category></item><item><title>KDAB at Engineering Design Show UK, October 11th-12th</title><link>https://www.kdab.com/eds2023/</link><guid isPermaLink="true">https://www.kdab.com/eds2023/</guid><description>&lt;p&gt;The Engineering Design Show (EDS) returns to The Coventry Building Society Arena (UK) on the 11th - 12th of October 2023. EDS has been showcasing mechanical, electronics, and embedded design for over a decade. It&amp;#x27;s a great show to visit for design engineers who are looking for direct access to the latest products, services and […]&lt;/p&gt;</description><pubDate>Tue, 05 Sep 2023 05:29:20 GMT</pubDate><content:encoded>&lt;h1&gt;KDAB at Engineering Design Show UK, October 11th-12th&lt;/h1&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://www.engineeringdesignshow.co.uk/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;The Engineering Design Show (EDS)&lt;/a&gt; returns to The Coventry Building Society Arena (UK) on the 11th - 12th of October 2023.&lt;/p&gt;&lt;p&gt;EDS has been showcasing mechanical, electronics, and embedded design for over a decade. It&apos;s a great show to visit for design engineers who are looking for direct access to the latest products, services and innovations available to the sector.&lt;/p&gt;&lt;p&gt;&lt;b&gt;KDAB will be there! Visit us in booth J16 where our experts will be showcasing some of our latest demos.&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;When: &lt;/b&gt;October 11th-12th&lt;/p&gt;&lt;p&gt;&lt;b&gt;Where:&lt;/b&gt; The Coventry Building Society Arena, Judds Lane, Coventry.&lt;/p&gt;&lt;p&gt;Register for your free attendance &lt;a href=&quot;https://engineeringdesignshow-2023.reg.buzz/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;h2 id=&quot;demos&quot; anchor=&quot;demos&quot;&gt;Demos&lt;/h2&gt;&lt;h3 id=&quot;idig-interactive-3d-embedded-system-for-machine-control&quot; anchor=&quot;idig-interactive-3d-embedded-system-for-machine-control&quot;&gt;iDig - Interactive 3D embedded system for machine control&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Embedded software for the control of machinery&lt;/li&gt;
&lt;li&gt;Integrate design models and field data&lt;/li&gt;
&lt;li&gt;Interactive 3D rendering&lt;/li&gt;
&lt;li&gt;Highly configurable user interface&lt;/li&gt;
&lt;li&gt;Embedded Linux system, C++ &amp;amp; Qt application&lt;/li&gt;
&lt;/ul&gt;&lt;h3 id=&quot;one-platform-three-frameworks&quot; anchor=&quot;one-platform-three-frameworks&quot;&gt;One platform - three frameworks&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;One app adapted in different frameworks on the same platform&lt;/li&gt;
&lt;li&gt;Ship navigation and status summary&lt;/li&gt;
&lt;li&gt;Custom, Torizon-based Linux platform&lt;/li&gt;
&lt;li&gt;Implemented on IMX8MP SOM on Toradex Yavia carrier boards&lt;/li&gt;
&lt;/ul&gt;&lt;h3 id=&quot;kdab-tools&quot; anchor=&quot;kdab-tools&quot;&gt;KDAB Tools&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;GammaRay: High-level introspection tool for Qt applications&lt;/li&gt;
&lt;li&gt;KDDockWidgets: KDAB&apos;s Dock Widget Framework for Qt&lt;/li&gt;
&lt;li&gt;Clazy Static Code Analyzer: LLVM/Clang-based static analyzer for Qt&lt;/li&gt;
&lt;li&gt;Hotspot Profiler: GUI for Linux Perf to analyze profiling data&lt;/li&gt;
&lt;li&gt;Heaptrack: Heap memory profiler and analysis GUI for Linux&lt;/li&gt;
&lt;/ul&gt;&lt;h3 id=&quot;cxx-qt-safe-rust-bindings-for-qt&quot; anchor=&quot;cxx-qt-safe-rust-bindings-for-qt&quot;&gt;CXX-Qt - Safe Rust Bindings for Qt&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Enables Rust and C++ ecosystems to be used in the same application&lt;/li&gt;
&lt;li&gt;Allows for idiomatic Rust and C++ code&lt;/li&gt;
&lt;li&gt;Integrates easily into existing applications&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Rust is a systems programming language focused on safety and high performance&lt;/p&gt;&lt;h2 id=&quot;publications&quot; anchor=&quot;publications&quot;&gt;Publications&lt;/h2&gt;&lt;p&gt;&lt;a href=&quot;https://www.kdab.com/embedded-linux-framing-the-development-process/&quot;&gt;Designing your first embedded Linux device&lt;/a&gt;&lt;/p&gt;&lt;p&gt;If your company is building its first embedded Linux device, you’re going from a relatively easy-to-understand product environment to one that’s software-dependent with thousands of technical decisions to make. Nobody wants the expensive mistake of a failed product, but without previous experience, how do you go about creating an embedded system that is not only successful with customers but also a solid foundation for future innovation?&lt;/p&gt;&lt;p&gt;This is the first module in a whitepaper series on designing your first embedded device; it covers the beginning and end of the product development process.&lt;/p&gt;&lt;p&gt;See you there!&lt;/p&gt;&lt;/div&gt;


&lt;div class=&quot;image-variable-size-block&quot;&gt;
    &lt;div class=&quot;image-variable-positioning-block right-margin-auto left-margin-auto width-100 &quot; &gt;
            &lt;div class=&quot;image-variable-size-image&quot;&gt;
                
                
                
                &lt;img id=&quot;KDAB-EDS.png&quot; src=&quot;https://eu-central-1.linodeobjects.com/wagtail-production/images/KDAB-EDS.original.png&quot; class=&quot;KDAB-EDS.png&quot; alt=&quot;KDAB-EDS.png&quot;&gt;
                
                
        &lt;/div&gt;
        &lt;div class=&quot;image-variable-size-caption text-center&quot;&gt;&lt;div class=&quot;rich-text&quot;&gt;&lt;/div&gt;&lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The post &lt;a href=&quot;https://www.kdab.com/eds2023/&quot;&gt;KDAB at Engineering Design Show UK, October 11th-12th&lt;/a&gt; appeared first on &lt;a href=&quot;https://www.kdab.com&quot;&gt;KDAB&lt;/a&gt;.&lt;/p&gt;</content:encoded><dc:creator>Editor Team</dc:creator><category>news</category></item></channel></rss>