125
I Use This!
Very High Activity

News

Analyzed about 6 hours ago. based on code collected 2 days ago.
Posted about 5 years ago
I am happy to announce that Qt 5.13.0 Beta1 is released today. As earlier we release updates as Beta N regularly until we are ready for RC. Current estimation for RC is 7th May 2019, see the schedule from 5.13 wiki. Beta1 (and later releases) can be ... [More] installed by using online installer as usual. Commercial users can found online installer from their Qt Account and Opensource users from download.qt.io. We are not planning to blog next Beta releases or RC so please follow mailing lists to get the notification when new ones are available. And of course you can use maintenance tool’s update option to check if there is update already available. I hope you will now start testing Qt 5.13 beta release(s) and report your findings via Jira. It is really important to do the testing now; we need to understand the release status and recognize release blockers as soon as possible to be able to get the final release out as planned. So please install beta1 now & update it regularly with latest changes. And please make sure all release blockers can be found from release blocker list. From Qt 5.13 New Features page you can find the details what new Qt 5.13 release contains. The post Qt 5.13.0 Beta1 released appeared first on Qt Blog. [Less]
Posted about 5 years ago
Time ago I had the task to create a QComboBox and a QLineEdit that open a completer so the user can select between all the suggested options. So far it seems a quite easy task by using the QCompleter that Qt provides. The interesting part starts when ... [More] I had to add customized styles for both the QComboBox and the QLineEdit, and make them match with the styles that I also had to add to the QCompleter. In addition I had a language constraint that initially I didn't take into account but it impacted the performance of the widget. That's the default filter implemented in QCompleter. La entrada Customization of a QCompleter aparece primero en My C++ & Qt blog - Cesc M.. [Less]
Posted about 5 years ago
Originally, QNanoPainter library was implemented to fulfill the needs of easy to use but performant custom OpenGL QQuickItems. For the needs, Qt Quick Scene graph QSG* classes felt a bit too low-level to be productive, while QQuickPaintedItem was ... [More] slightly lacking in performance and rendering quality on mobile hardware. For more details, please read this QNanoPainter introduction blog post. I like (OK, love) Qt Quick & QML and have used them successfully in many different projects. On desktop, mobile and embedded software. A lot. But Qt Quick doesn't suit all situations or it is not always required. As explained in this Qt blog post, Qt 5.12 improves Qt Quick performance and memory usage. But naturally there still is some memory and startup time additions coming from Qt Quick engine. Fear not, QNanoPainter can be used also without Qt Quick. Available entry points are: QNanoQuickItem & QNanoQuickItemPainter - This is where it all started, use these to implement your QQuickItems. QNanoWidget - Based on QOpenGLWidget so can be used for widget based applications. Used similarly to QWidget and just contains QNanoPainter API for painting instead of QPainter. As QNanoPainter is OpenGL (ES) powered, in some cases this can substitute also QGLWidget based components. QNanoWindow - Based on QOpenGLWindow / QWindow so very lightweight. Optimal for embedded software which would only need a single QNanoWindow for the whole UI. There are separate helloworld examples for all of these classes in QNanoPainter sources, so to educate ourselves let's see what the memory consumption differences of them are. First I unified all examples to look the same, like this: Also made applications to exit automatically with timer after running for 2 seconds, to let the memory consumption stabilize. Measuring was done using MTuner memory profiler for Windows. Using freshly released 5.12.2, MTuner memory usage graphs look like this: So QNanoQuickItem based version is using most memory, peaking at 28.9MB. QNanoWidget comes next with 23.3MB peak usage. And slimmest, as expected, is QNanoWindow app with 19.0MB. Note that all of these use normal MSVC2015 Qt 5.12.2 from installer and release builds of applications, without extra compiler options or anything. With those and Qt Lite it would be possible to build more streamlined versions especially for QNanoWindow which doesn't depend on other Qt modules than Qt Core & GUI. Further optimizations and testing is left as an exercise for readers and the ones needing it :) In conclusion: If you are working on embedded device with OpenGL ES 2 / 3 capable GPU, concerned of flash & RAM usage and require relatively simple user interface, I would encourage to check out QNanoWindow. You get hardware accelerated nicely antialiased graphics, in pure C++. [Less]
Posted about 5 years ago
I am pleased to announce that the second patch release of Qt 5.12 LTS, the Qt 5.12.2 is released today. While not adding new features, the Qt 5.12.2 release provides a number of bug fixes and other improvements. Compared to Qt 5.12.1, the new Qt ... [More] 5.12.2 contains more than 250 bug fixes. For details of the most important changes, please check the Change files of Qt 5.12.2. With Qt 5.12.2 we bring back widely asked MinGW 32 bit prebuild binaries in addition to 64 bit ones. Qt 5.12 LTS will receive many more patch releases throughout the coming years and we recommend all active developed projects to migrate to Qt 5.12 LTS. Qt 5.9 LTS is currently in ‘Strict’ phase and receives only the selected important bug and security fixes, while Qt 5.12 LTS is currently receiving all the bug fixes. With Qt 5.6 Support ending in March 2019 all active projects still using Qt 5.6 LTS should now migrate to a later version of Qt. Qt 5.12.2 is available via the maintenance tool of the online installer. For new installations, please download latest online installer from Qt Account portal or from qt.io Download page. Offline packages are available for commercial users in the Qt Account portal and at the qt.io Download page for open-source users. You can also try out the Commercial evaluation option from the qt.io Download page. The post Qt 5.12.2 Released appeared first on Qt Blog. [Less]
Posted about 5 years ago
In the last post I talked about how to integrate tests in the build environment. When we talk about testing I always think on unit testing for my classes and methods but I usually forget UI testing. With Qt we have a really nice environment to test ... [More] GUI as well. Widgets implement all the power of signals and slots, and Qt provides a wide range of signals so we can keep track of what happened and what's currently happening. The fact that we can work with QSignalSpy makes all or testing easier. At least if we know what to test, because some times is not that straight-forward with widgets. Specially with QListWidget, QTableWidget and QTreeWidget classes. La entrada Testing QTableWidget with QTest aparece primero en My C++ & Qt blog - Cesc M.. [Less]
Posted about 5 years ago
QtQuick was designed to be useful for both software developers and for UX designers. Ideally this would be a seamless blend of the two, but very often this ends up with the designers desiging things with Adobe tools, and the engineers working from ... [More] PDFs, JPGs, etc to recreate what the design team want. In the case of complex animations this can mean recreating everything entirely in code. Wouldn’t it be much easier if they engineers could just embed the designers’ animations directly in the UI? Engineers over at Airbnb thought the same, and in 2017 released their way of doing it. The BodyMovin plugin is an After Effects plugin that exports the animations to a JSON format, which can be run on the web. The Airbnb engineers created a native iOS and Android runtime library for these JSON files, called Lottie. This allows embedding and replaying of the BodyMovin JSON files. The idea picked up quickly, and if you have an iOS or Android device of your own, you most likely have something using Lottie on there somewhere. With the release of Qt 5.13, we are happy to introduce a new Qt-based Lottie player. This gives engineers and UI designers the ability to embed Adobe After Effect animations directly into QtQuick applications, without any need to rebuild the animation using code later on. We are at the Technical Preview stage, so not all features are supported yet and you may find downloaded Lottie files don’t always work. We will look deeper at the technical details in a future blog post. Internally, the BodyMovin JSON files are rendered in an embedded renderer – a micro renderer if you will. This parses and loads the JSON, and then runs the animations, trimming, layers, and other effects. This is wrapped up in the LottieAnimation QML element, which can be controlled by the QML code in the UI just like any other QtQuick element. QtQuick already offers a powerful toolkit for making smooth, powerful, animations to designers. This complements it nicely, offering designers the ability to embed animations quickly and easily. Using Qt Lottie is as straightforward as any other QtQuick element. Add the element to your QML file, specify what it’s properties are, and define it’s behavior, using JavaScript where necessary. The second video has a little ‘mouse twinkle’ effect, which is also created using a Lottie file: MouseArea { anchors.fill: parent onClicked: { sparkle.anchors.horizontalCenterOffset = (window.width/2 - mouseX) * -1 sparkle.anchors.verticalCenterOffset = (window.height/2 - mouseY) * -1 sparkle.opacity = 1.0 sparkle.gotoAndPlay(0) } LottieAnimation { id: sparkle anchors.centerIn: parent scale: 0.15 source: ":/4436-celebrating-stars.json" autoPlay: false frameRate: 20 onFinished: fade.start() PropertyAnimation { id: fade target: sparkle property: "opacity" to: 0.0 duration: 2000 easing.type: Easing.InOutQuad } } } Our sample above moves the animation to the position of the mouse click, starts the Lottie animation running from the beginning, and then fades it out when the animation emits the ‘finished’ signal. Another quick sample here: // LottieHeart.qml import QtQuick 2.0 import Qt.labs.lottieqt 1.0 Item { id: root property bool selected: false Image { id: backgroundImage anchors.fill: parent source: "heart-outline.png" } LottieAnimation { id: animation anchors.centerIn: parent source: ":/3990-favheart.json" scale: 0.4 autoPlay: false } MouseArea { anchors.fill: parent onClicked: { if (root.selected) { animation.gotoAndStop(0) } else { animation.gotoAndPlay(0) } root.selected = !root.selected } } } A simple little click on/off favorites button. You’ll notice in the sample code that both of my Lottie animations are scaled. This isn’t something you will normally need to do if you are creating your JSON Lottie files from scratch, but in this case I am using Lottie files downloaded from a public repository, and I scaled them to fit. If you are ready to take a look, you can get hold of Lottie already using the Qt online installer – it’s available with the 5.13 alpha release. You can also grab the code from the Qt repository on github. If you don’t have a copy of After Effects, there are several thousand ready made Lottie animations available from lottiefiles.com. Be aware that Qt Lottie supports a subset of all the BodyMovin features, and not all of the files will play, but don’t despair, many will. You can get the source for the little test app in the first video from here, and the Qt Lottie source code contains a test app with some very simple reference Lottie files that can be used for calibration. The Qt Lottie documentation is here. The post Announcing QtLottie appeared first on Qt Blog. [Less]
Posted about 5 years ago
Learn to build Qt-based cross platform apps for Windows, Mac, Linux, iOS and Android with QML and Felgo (former V-Play)! We created a comprehensive online course on Udemy to show you how: The online course is a perfect fit for both beginners and ... [More] advanced developers, as it contains many QML best practices and QML architecture tips. And the best part: The course is 100% free for all Felgo developers. Just sign-up now and retrieve the coupon code along with your first welcome email after sign-up. As a registered Felgo user, you can find the code in the newsletter email about this post. Sign Up Now! Which Topics Does the Udemy Course Cover? The complete Udemy course contains 44 lectures and more than 4 hours of video course material. It focuses on many important topics for beginners and advanced developers. With the full QML tutorial you will learn: How to use QML to create desktop and mobile apps in ultra fast time Make good looking and scalable layouts using QML Use Felgo to create mobile versions of your app – without any extra code Understand how to make HTTP API calls and deliver the data to your app Learn how to leverage events and button clicks in V-Play Correctly structure apps in QML and QtQuick The end result of the course is a real estate app for mobile and desktop platforms. The app also uses the Felgo SDK for advanced Qt tooling (e.g. live code reload on Desktop and mobile) and extended Qt APIs for usage on mobile. You can find the final demo app, as well as many other demos, in the Felgo Apps Examples and Demos. Why learn Qt and QML on Udemy? Udemy is one of the biggest online learning platforms and used by over 30 million students from around the world! Learn at home, the office, waiting in line, or on the go. Udemy offers a vast set of online courses: Web Development, Mobile Apps, Programming Languages, Game Development, Databases, and more. You can find this first official Felgo course on Udemy here: Learn Qt and QML by Creating Cross Platform Apps with Felgo The course is for beginner and intermediate levels and covers many topics. See the course outline for a quick overview of what to expect: Introduction to Qt, QML and Felgo Introduction Is this Course For you? Installation Creating the Project, Understanding File Structure and Running It How to Create a Blank Mobile App using Qt and QML Understanding Files and Folders Running the Basic App Locally How to Run the App on Multiple Devices Simultaneously with Live Code Reload Structuring a Project and Your First Piece of Code Explaining the Existing Code (Navigation Stack, Pages and Content) Structuring an App Correctly with an Item Object Creating the Main Page of the App Understanding QML Layouts, Property Listeners and Button Click Events Creating a Basic Search Page Adding a Sensible Layout with Columns and Rows Adding Input and Text Elements to a QML Page Events and Listeners to Detect Changes in Input Text Buttons and Click Events Retrieving Remote Data using Signals and Logic (Equivalent to Events) Making a Simple HTTP API Request Using HttpRequest Creating a Client to Store Http Requests and Tidy up Code Creating Search Client Functions Communicating Between QML Objects Using Signals Communicating with Signals – Firing a Signal Subscribing to a Signal Creating and Handling Callbacks for Received Data Creating Scrolling List Views Creating Logic to Parse Received Data The Data Received Signal Creating a List View – Making a List Page Creating a List View – Showing Listings Creating a List View – Showing a New Page and Passing Data to it Searching for the Next Page of Listings and Fixing the Loading Icon Implement Favorites using Arrays and Local Storage Checking for Favorites Adding and Removing Favorites Using Signals Showing Existing Favorites Persisting Favorite Data Across App Launches We plan to add many more courses and lectures in the future, so be sure to check it out! Don’t hesitate to leave a review if you like the course!   In case you run into issues or have a business request in regards to Felgo apps, don’t hesitate to contact us here. Sign up for Felgo and get the Udemy Course for free     More Posts Like This: Mobile UI Design: Make mobile app design that stands out in 2018 Best Mobile App Ideas: 6 Sources That Will Make You Think! Step-by-step guide to your first Android / iOS App | Guide for 2019 The post QML Tutorial: How to Create Native Cross Platform Apps with Qt and Felgo | Free Udemy Course appeared first on Felgo. [Less]
Posted about 5 years ago
Learn to build Qt-based cross platform apps for Windows, Mac, Linux, iOS and Android with QML and Felgo (former V-Play)! We created a comprehensive online course on Udemy to show you how: The online course is a perfect fit for both beginners and ... [More] advanced developers, as it contains many QML best practices and QML architecture tips. And the best part: The course normally costs 129,- €, but is 100% FREE for all Felgo developers. Just sign-up now and retrieve the coupon code along with your first welcome email after sign-up. As a registered Felgo user, you can find the code in the newsletter email about this post. Sign Up Now! Which Topics Does the Udemy Course Cover? The complete Udemy course contains 44 lectures and more than 4 hours of video course material. It focuses on many important topics for beginners and advanced developers. With the full QML tutorial you will learn: How to use QML to create desktop and mobile apps in ultra fast time Make good looking and scalable layouts using QML Use Felgo to create mobile versions of your app – without any extra code Understand how to make HTTP API calls and deliver the data to your app Learn how to leverage events and button clicks in Felgo Correctly structure apps in QML and QtQuick The end result of the course is a real estate app for mobile and desktop platforms. The app also uses the Felgo SDK for advanced Qt tooling (e.g. live code reload on Desktop and mobile) and extended Qt APIs for usage on mobile. You can find the final demo app, as well as many other demos, in the Felgo Apps Examples and Demos. Why learn Qt and QML on Udemy? Udemy is one of the biggest online learning platforms and used by over 30 million students from around the world! Learn at home, the office, waiting in line, or on the go. Udemy offers a vast set of online courses: Web Development, Mobile Apps, Programming Languages, Game Development, Databases, and more. You can find this first official Felgo course on Udemy here: Learn Qt and QML by Creating Cross Platform Apps with Felgo The course is for beginner and intermediate levels and covers many topics. See the course outline for a quick overview of what to expect: Introduction to Qt, QML and Felgo Introduction Is this Course For you? Installation Creating the Project, Understanding File Structure and Running It How to Create a Blank Mobile App using Qt and QML Understanding Files and Folders Running the Basic App Locally How to Run the App on Multiple Devices Simultaneously with Live Code Reload Structuring a Project and Your First Piece of Code Explaining the Existing Code (Navigation Stack, Pages and Content) Structuring an App Correctly with an Item Object Creating the Main Page of the App Understanding QML Layouts, Property Listeners and Button Click Events Creating a Basic Search Page Adding a Sensible Layout with Columns and Rows Adding Input and Text Elements to a QML Page Events and Listeners to Detect Changes in Input Text Buttons and Click Events Retrieving Remote Data using Signals and Logic (Equivalent to Events) Making a Simple HTTP API Request Using HttpRequest Creating a Client to Store Http Requests and Tidy up Code Creating Search Client Functions Communicating Between QML Objects Using Signals Communicating with Signals – Firing a Signal Subscribing to a Signal Creating and Handling Callbacks for Received Data Creating Scrolling List Views Creating Logic to Parse Received Data The Data Received Signal Creating a List View – Making a List Page Creating a List View – Showing Listings Creating a List View – Showing a New Page and Passing Data to it Searching for the Next Page of Listings and Fixing the Loading Icon Implement Favorites using Arrays and Local Storage Checking for Favorites Adding and Removing Favorites Using Signals Showing Existing Favorites Persisting Favorite Data Across App Launches We plan to add many more courses and lectures in the future, so be sure to check it out! Don’t hesitate to leave a review if you like the course!   In case you run into issues or have a business request in regards to Felgo apps, don’t hesitate to contact us here. Sign up for Felgo and get the Udemy Course for free     More Posts Like This: Mobile UI Design: Make mobile app design that stands out in 2018 Best Mobile App Ideas: 6 Sources That Will Make You Think! Step-by-step guide to your first Android / iOS App | Guide for 2019 The post QML Tutorial: How to Create Native Cross Platform Apps with Qt and Felgo | Free Udemy Course appeared first on Felgo. [Less]
Posted about 5 years ago
Learn to build Qt-based cross platform apps for Windows, Mac, Linux, iOS and Android with QML and Felgo (former V-Play)! We created a comprehensive online course on Udemy to show you how: The online course is a perfect fit for both beginners and ... [More] advanced developers, as it contains many QML best practices and QML architecture tips. And the best part: The course is 100% free for all Felgo developers. Just sign-up now and retrieve the coupon code along with your first welcome email after sign-up. As a registered Felgo user, you can find the code in the newsletter email about this post. Sign Up Now! Which Topics Does the Udemy Course Cover? The complete Udemy course contains 44 lectures and more than 4 hours of video course material. It focuses on many important topics for beginners and advanced developers. With the full QML tutorial you will learn: How to use QML to create desktop and mobile apps in ultra fast time Make good looking and scalable layouts using QML Use Felgo to create mobile versions of your app – without any extra code Understand how to make HTTP API calls and deliver the data to your app Learn how to leverage events and button clicks in Felgo Correctly structure apps in QML and QtQuick The end result of the course is a real estate app for mobile and desktop platforms. The app also uses the Felgo SDK for advanced Qt tooling (e.g. live code reload on Desktop and mobile) and extended Qt APIs for usage on mobile. You can find the final demo app, as well as many other demos, in the Felgo Apps Examples and Demos. Why learn Qt and QML on Udemy? Udemy is one of the biggest online learning platforms and used by over 30 million students from around the world! Learn at home, the office, waiting in line, or on the go. Udemy offers a vast set of online courses: Web Development, Mobile Apps, Programming Languages, Game Development, Databases, and more. You can find this first official Felgo course on Udemy here: Learn Qt and QML by Creating Cross Platform Apps with Felgo The course is for beginner and intermediate levels and covers many topics. See the course outline for a quick overview of what to expect: Introduction to Qt, QML and Felgo Introduction Is this Course For you? Installation Creating the Project, Understanding File Structure and Running It How to Create a Blank Mobile App using Qt and QML Understanding Files and Folders Running the Basic App Locally How to Run the App on Multiple Devices Simultaneously with Live Code Reload Structuring a Project and Your First Piece of Code Explaining the Existing Code (Navigation Stack, Pages and Content) Structuring an App Correctly with an Item Object Creating the Main Page of the App Understanding QML Layouts, Property Listeners and Button Click Events Creating a Basic Search Page Adding a Sensible Layout with Columns and Rows Adding Input and Text Elements to a QML Page Events and Listeners to Detect Changes in Input Text Buttons and Click Events Retrieving Remote Data using Signals and Logic (Equivalent to Events) Making a Simple HTTP API Request Using HttpRequest Creating a Client to Store Http Requests and Tidy up Code Creating Search Client Functions Communicating Between QML Objects Using Signals Communicating with Signals – Firing a Signal Subscribing to a Signal Creating and Handling Callbacks for Received Data Creating Scrolling List Views Creating Logic to Parse Received Data The Data Received Signal Creating a List View – Making a List Page Creating a List View – Showing Listings Creating a List View – Showing a New Page and Passing Data to it Searching for the Next Page of Listings and Fixing the Loading Icon Implement Favorites using Arrays and Local Storage Checking for Favorites Adding and Removing Favorites Using Signals Showing Existing Favorites Persisting Favorite Data Across App Launches We plan to add many more courses and lectures in the future, so be sure to check it out! Don’t hesitate to leave a review if you like the course!   In case you run into issues or have a business request in regards to Felgo apps, don’t hesitate to contact us here. Sign up for Felgo and get the Udemy Course for free     More Posts Like This: Mobile UI Design: Make mobile app design that stands out in 2018 Best Mobile App Ideas: 6 Sources That Will Make You Think! Step-by-step guide to your first Android / iOS App | Guide for 2019 The post QML Tutorial: How to Create Native Cross Platform Apps with Qt and Felgo | Free Udemy Course appeared first on Felgo. [Less]
Posted about 5 years ago
In vehicle infotainment systems and instrument clusters are getting larger and more complex, requiring an exponentially growing base of software to drive them. Furthermore, KDAB finds that self-driving technology does not obviate the need for ... [More] displays – in fact, autonomous technology seems to be accelerating the trend for larger and more capable graphics software. To help meet this challenge, KDAB showcased a number of innovations at this week’s Embedded World 2019 in Nuremberg, Germany, where we focused on three key aspects of in-vehicle embedded displays: optimizing code, eliminating bugs, and adding 3D graphics. Optimization is important in automotive systems since it allows for lower priced, lower powered processors to smoothly render complex graphics, giving automakers an edge in creating distinctive displays while still using cost effective parts. KDAB provides a number of tools that help developers optimize their code, such as the KDAB Gamma Ray inspector that allows visual debugging of Qt application structures, state machines and models, the KDAB Hotspot Profiler that gives programmers insights into the areas of their system that are consuming excess CPU cycles, and the Heaptrack Profiler that analyzes a program’s memory use and behaviour so that engineers can ensure the system consumes memory properly and won’t exhaust that precious resource. Having bug-free code is important for all software but since few people appreciate rebooting their cars there is an especially high quality bar for automotive systems. To help with that, KDABian Sergio Martins created the open source tool Clazy, a static analysis tool that finds problems lurking in Qt source code. Not only does Clazy find all manner of Qt-related bugs, performance sinks, and unneeded memory usage, it also helps rewrite code to adopt improved constructs and newer syntax, and easily integrates into existing build systems. The last item of interest to automotive developers – but certainly not the least – is KUESATM for Qt 3D, a designer/developer workflow solution that helps streamline the creation and deployment for 3D content in both embedded and desktop applications. Three-dimensional models are being increasingly used in cars for realistic looking digital instrument clusters, diagnostic car model displays, and sophisticated user interfaces. KUESA removes the barriers that traditionally exist between designers and developers, and allows each team to use best-in-breed tools of their choice. With KUESA for Qt 3D, designers and artists can create professional and attractive 3D assets that are easily imported and manipulated by software engineers for real-time rendering in a Qt 3D application – perfect for next generation in-vehicle displays. If you weren’t able to make it to the KDAB booth at Embedded World, check out the rest of our website to learn more about all of these automotive-related items and much more.   The post Auto Innovation at Embedded World appeared first on KDAB. [Less]