Category Archives: News


V-Play 2.14.0 adds Live Code Reloading for Desktop, iOS & Android. It allows you to run and reload apps & games within a second on iOS and Android from Windows and Linux. No Mac and Android SDKs required. It also updates the way we distribute Android & iOS updates. If you have V-Play for iOS or Android installed, make sure to follow the steps described here.

Live Code Reloading

Building your project takes some time. For mobile platforms it can even take several minutes, depending on your development PC. This can become quite time-consuming. For example if you are doing small iterations to fine-tune UI elements in apps. Same with animations, game-mechanics and so on. It slows down your development speed and therefore decreases your productivity.

V-Play Live reloads your project on every connected device, within seconds after code changes. This reduces the long compilation and deployment times, to only a couple of seconds. V-Play Live also allows you to run and test your applications on iOS from a Windows or Linux desktop. You don’t need to install any native SDKs for deployment with V-Play Live. See here for a quick demo:

This video shows a project opened in Qt Creator (left) on Windows. The project runs with V-Play Live. In the bottom right corner, the screens from an Android Nexus 7 and an iPhone 5s are shared with screen mirror tools so you can see what is going on there. In the center, you can see the desktop client. After connecting the 2 devices to the Live Server (top right), we change the code in Qt creator. After we save the changes, all connected clients update their view, within a second!

How to Use V-Play Live

1. Get the Latest Version of V-Play

If you haven’t installed V-Play yet, go get it on our download page. V-Play Live is available starting with this V-Play version, 2.14.0. If you are running an older V-Play version, see the update instructions below.

Note: This feature is available on Windows only at the moment. Linux and macOS developers will receive an update including V-Play Live next week.

2. Start V-Play Live

To start V-Play Live for your active project, click on the LIVE-Run button in Qt Creator:

The V-Play Live Server (below right) will start, and open a local V-Play Live Client (below left).


The Live Server allows you to:


We are happy to announce the release of Qt Creator 4.5 RC!

We think that we are pretty close to what we want to release as Qt Creator 4.5.0, so please take this opportunity to give us final feedback through the bug tracker, our mailing list, or on IRC (#qt-creator on For information about the new features and improvements in this version, please have a look at the beta blog post or our change log.

Get Qt Creator 4.5 RC

The opensource version is available on the Qt download page, and you find commercially licensed packages on the Qt Account Portal. Qt Creator 4.5 RC is also available under Preview > Qt Creator 4.5.0-rc1 in the online installer (as an update to the beta). Please post issues in our bug tracker. You can also find us on IRC on #qt-creator on, and on the Qt Creator mailing list.

The post Qt Creator 4.5 RC released appeared first on Qt Blog.

…read more




I am pleased to inform that Qt 5.9.3 is released today. As a patch release Qt 5.9.3 does not add any new functionality, focus is in bug fixes and performance improvements.

Compared to Qt 5.9.2, the new Qt 5.9.3 contains over 100 bug fixes and in total more than 500 changes since Qt 5.9.2. For details of the most important changes, please check the Change files of Qt 5.9.3.

Qt 5.9.3 release also contains the latest security fixes, including fixes to the two vulnerabilities in Qt for Android port.

Our intention is to make frequent patch releases for Qt 5.9 LTS. Qt 5.9.4, planned for January 2018, will bring the the next set of bug fixes from Qt 5.9 branch.

If you are using the online installer, Qt 5.9.3 can be updated to using the maintenance tool. Offline packages are available for commercial users in the Qt Account portal and at the Download page for open-source users.

The post Qt 5.9.3 Released appeared first on Qt Blog.

…read more




Two vulnerabilities have been identified in Qt for Android which could be used by a malicious application to hijack an existing Qt for Android application on the same device. The vulnerabilities in question were found by JPCERT Coordination Center, and have been assigned the following vulnerability IDs: JVN#27342829 and JVN#67389262.

These vulnerabilities have subsequently been fixed in Qt 5.9 as well as the Qt 5.6 branch of Qt. Qt 5.9.3, which was released today, contains all required patches.

For users of Qt 5.7 or Qt 5.8, we have prepared patch sets which can be applied to the source tree in order to fix these issues. They can be downloaded from Qt Account or by accessing these links: 5.6.3, 5.7.1 and 5.8.0. The patches are organized in qtbase/ and qttools/ subfolders for the code repositories where changes are needed.

Thanks to Bogdan Vatra from KDAB for supplying the necessary patches on short notice.

The post Security advisory about Qt for Android appeared first on Qt Blog.

…read more




The project Qt 5 emscripten that Intopalo (who are doing tons of amazing stuff with some awesome talent) started as research for a client, has moved git repos. The new main git repo has been moved to a branch in Qt proper! and a new name – Qt for WebAssembly.

git:// in the ‘wip/webassembly’ branch, and can be downloaded here:
git clone -b wip/webassembly git://

which is also here at github:

Along with the move comes expanded requirements, like targeting non QtWidgets based apps, including QtDeclarative.

As well, it now builds only for wasm and does not bother with the asmjs fallback, This means your web browser will need to specifically support wasm. Pure wasm builds in emscripten have performance optimizations that do not happen when also building the asmjs fallback.

That said….

*NOTE* Qt for WebAssembly is still very alpha and buggy! Some of which I will cover in the next blog post.

I have managed to conjole Qt Creator to use the emscripten built Qt for apps. Here are the steps to do so, if you are so inclined.

Build Qt for web assembly.

1) Download and build emsdk (you may also try to pre built binary version)

git the emsdk source repo:
git clone
(to update: git pull; ./emsdk update-tags )

Follow these instructions to build emsdk:

I usually use ‘incoming’ instead of ‘latest’, as it has more recent features.

/path/to/emsdk install sdk-master-64bit binaryen-master-64bit

2) Download Qt for emsdk

git clone -b wip/webassembly

3) Build Qt

source /path/to/emsdk/

$QT_DIR/configure -xplatform emscripten -confirm-license -opensource -nomake tests -nomake examples -developer-build -no-dbus -no-headersclean -release -no-thread -no-feature-networkinterface

(non developer builds should work too)

4) Add emscripten compiler to Creator

  • Tools->Options->Build & Run -> Compilers->Add->Custom
  • add emcc as C, and emc++ as C++
  • ’emscripten’ as Qt mkspecs.
  • ABI: x86, linux (or whatever platform you build on), unknown, elf, 64bit

5) Add emscripten built Qt

  • Tools->Options->Build & Run ->Qt Versions->Add
    • add the qmake from your emscripten Qt build.

6) Add emscripten kit

  • Tools->Options->Build & Run ->Kits->Add
    • add emcc and emc++ as Compilers
    • If you use cmake, you can also add to CMake configuration:
      • CMAKE_TOOLCHAIN_FILE=/path/to/emsdk/emscripten/incoming/cmake/Modules/Platform/Emscripten.cmake

7) Build your app

  • Use ‘release‘ mode build, as ‘debug’ will result in a runtime error: “failed to asynchronously prepare wasm: CompileError: wasm validation error: at offset 14762: too many functions”

8) Run your app

  • add custom executable: Projects->(qt5-wasm) Run
    • specify /path/to/emsdk/emscripten/incoming/emrun
      • arguments: .html
        • I also use –browser firefox (I use nightly)

Hopefully some things will actually work! This is all still in the development phase. Your kilometerage will vary.

Good luck! You can join the fun, we are in #qt-webassembly at <a target="_self" …read more



Korean handwriting support in Qt Virtual Keyboard

The Qt Virtual Keyboard provides you an input framework and reference keyboard frontend for Qt 5 on Linux Desktop/X11, Windows Desktop, and Boot2Qt – embedded target platforms. In addition to a virtual keyboard, the module also offers versatile handwriting recognition with support for multiple different languages.

You can choose among customizable keyboard layouts and styles with dynamic switching, with support for different character sets (Latin, Simplified/Traditional Chinese, Hindi, Japanese, Arabic, Korean, and others) and support for ever increasing number of languages, with possibility to easily extend the language support, preserving the cross-platform functionality.

Some cool features of earlier releases:

  • Left-to-right and right-to-left input.
  • Predictive text input with word selection.
  • Character preview and alternative character view.
  • Automatic capitalization and space insertion.
  • Scalability to different resolutions.
  • Hardware key support for 2-way and 5-way navigation.
  • Audio feedback
  • Handwriting support, with gestures for full screen input.

New features!

With Qt 5.10 comes a new release of Qt Virtual Keyboard: 2.3. With this release we have introduced many new layouts:

  • Bulgarian
  • Czech
  • Croatian
  • Dutch
  • Greek
  • Estonian
  • Hebrew
  • Hungarian
  • Serbian

All languages provided by the Qt Virtual Keyboard will as well be supported with the new handwriting solution, including most Latin languages, also including Cyrillic, Arabic, Chinese, Japanese and Korean.

Here’s a GIF demonstrating the Korean handwriting support and my first attempts at writing Korean:

Korean handwriting support in Qt Virtual Keyboard

The Japanese keyboard input received several fixes (it no longer crashes when pressing the space after entering a smiley; there were a bunch of small fixes and optimizations).
We also added an InputModeKey to switch between different input modes (e.g. various Asian layouts, numeric, Latin).

Qt Virtual Keyboard is available under GPLv3 open source license and the commercial license from The Qt Company. There is currently choice to use open-source engine for handwriting recognition and word prediction, or a commercial T9 Write solution form Nuance. We are also working with other partners to extend the support for other commercial engines in lated releases of Qt. More info about the related upcoming partnerships is available here.

The new Qt Virtual Keyboard 2.3 is included into the upcoming Qt 5.10 release. Stay tuned to hear more about all the great new additions of Qt 5.10.

The post Qt 5.10 brings the new Qt Virtual Keyboard 2.3 appeared first on Qt Blog.

…read more



Qt 3D benchmark with many viewports

Many improvements have been made to Qt 3D since the release of Qt 5.6, our previous long-term-support (LTS) release. Engineers from KDAB and The Qt Company have been working hard to bring new features to Qt 5.9 LTS, many of which are listed in the What’s new in Qt 3D with Qt 5.9 blog post by Sean Harmer from KDAB. While more features are still on the way (such as a Vulkan backend), the focus in the latest releases has shifted towards performance and stability. The performance has in fact improved greatly since Qt 5.6, especially for complex scenes and scenes with large frame graphs.

Scenes with many viewports typically result in large frame graphs because each viewport corresponds to a leaf node. If you are not familiar with the frame graph concept in Qt 3D and how powerful it is, you should check out Paul Lemire’s blog post at The screenshot below is from one of our internal benchmarks; a fairly simple (and colorful) scene with 28 viewports:

The CPU usage in this benchmark has gone significantly down from Qt 5.6.2 to Qt 5.9.2, and the Qt Company is working together with the engineers in KDAB on a series of changes that we expect will make the CPU usage drop even further in Qt 5.11:


Many of the performance improvements have been driven forward by the port of the Qt 3D Studio runtime to be based on Qt 3D. Although the runtime is planned for a release next year, we are already now adding performance improvements to the current Qt 5.9.x LTS series. Here are some benchmark results from our internal Qt3D Studio examples:


Performance improvements are added in many parts of Qt 3D. We have for instance also added support for efficient file formats, such as glTF2. In this post, we will go into details about some of the changes we are making to reduce the CPU usage, while in a later post, we will discuss reductions in memory consumption.

Improving the job dependency solver

One of the performance improvements we have made was to the Qt 3D job dependency solver. Qt 3D divides work that needs to be done each frame into separate, smaller jobs that can be run in parallel. The jobs are part of the flexible backend/frontend architecture of Qt 3D, which separates the frontend on the main thread from …read more