
After installing the Felgo SDK, you can receive updates with the Maintenance Tool. The Maintenance Tool is located at the installation directory of your Felgo SDK and is called
MaintenanceTool
.
Run this application and select Update components
to check if any updates are available for the Felgo SDK.
You then see a list of packages for which an update is available. To update the packages, click Continue
and then Update
on the following screen. After all packages were downloaded and installed,
you can close the Maintenance Tool by clicking the Done
button.
Note: After you updated the SDK, you need to Clean your project so the updated Felgo version is used. To clean your project, open Qt Creator and select Clean Project
from the Build
menu. Afterwards you can run your project and the updated Felgo version is used.
With your Felgo signup, you get access to all Felgo updates for free. Some of the components are available exclusively for Felgo customers - to upgrade to a Felgo license click here.
Highlights Blog Post: Release 4.1.0: Build Qt 6 Apps for WebAssembly, Integrate Firebase Analytics, Gaming Components and SpeechToText
Felgo 4.1.0 adds support for WebAssembly, Firebase Analytics, Felgo Gaming Components, SpeechToText functionality and an improved Felgo Live connnection process.
Felgo 4.1.0 comes as a free update for all Felgo developers.
The WebAssembly Kit in Qt 6 and Felgo 4 integrates perfectly with Qt Creator. Similar to building for Desktop, you can build and run the application by pressing the Run button in Qt Creator. Qt Creator will compile the project, start a local web server, deploy your app, and open the the browser to run it.
You can also use the Felgo Live Server to start a Web Client and directly run your Qt Quick project in the browser. All changes to the code are reloaded on the fly - without the need for compilation and deployment to a local web server.
The update includes all the core gaming modules. The following features are currently only available in Felgo 3:
There are also number of API changes due to underlying changes in Qt 6:
GameSoundEffect.category
no longer exists.BackgroundMusic.availability
no longer exists.BackgroundMusic.autoLoad
no longer exists. To delay loading the media file, set the BackgroundMusic::source property only before calling
BackgroundMusic::play().
Lastly, some Felgo Games components used a name that also exists in QtQuick modules. To avoid conflicts due to the identical name, the Felgo types are now
renamed with the Game-
prefix. The affected Felgo QML types and existing QtQuick types are:
Felgo 3 | Felgo 4 | QtQuick |
SoundEffect | GameSoundEffect | SoundEffect |
Sprite | GameSprite | Sprite |
AnimatedSprite | GameAnimatedSprite | AnimatedSprite |
SpriteSequence | GameSpriteSequence | SpriteSequence |
Note: For more information about migrating projects from Felgo 3 to 4, see the migration guide.
import Felgo import QtQuick App { FirebaseAnalytics { id: analytics // GAv4 web measurement ID for desktop: measurementId: "G-GB8PY1E0JT" userId: "USER15" } NavigationStack { AppPage { title: "Firebase Analytics" Row { AppButton { text: "logEvent" onClicked: analytics.logEvent("ButtonClicked", { “type”: “logEvent” }) } AppButton { text: "logScreen" onClicked: analytics.logScreen("Firebase Analytics") } } } } }
import Felgo import QtQuick App { NavigationStack { AppPage { title: "Speech to Text" AppButton { id: button anchors.horizontalCenter: parent.horizontalCenter flat: false enabled: SpeechToText.recognitionAvailable text: !SpeechToText.recognitionActive ? "Start" : "Stop" onClicked: { if(!SpeechToText.recognitionActive) SpeechToText.startSpeechToText("en-US") else SpeechToText.stopSpeechToText() } } Connections { target: SpeechToText enabled: SpeechToText.recognitionAvailable onSpeechToTextResult: (result, isFinal) => { recognized.text = result } } AppText { id: recognized width: parent.width anchors.top: button.bottom anchors.bottom: parent.bottom verticalAlignment: Text.AlignTop padding: 10 } } } }
Using this functionality requires some additional project configuration. See the SpeechToText documentation for more information.
Note: To use speech-to-text on your Android device, make sure that you have Google Search und Google SpeechServices installed.
The new solution eliminates UDP broadcasts and enables direct client-to-server connections. Here's how it works:
These changes address the drawbacks of the previous approach while introducing a more reliable and efficient connection method.
statusBarStyleCustom
to have control over the status bar via native code.
// Use platform-specific fonts instead of Felgo's default font - this setting is no longer required felgo.setPreservePlatformFonts(true);
ok
and cancel
button if no custom text is passed on Desktop
platforms.
Note: There is no difference in behavior if the Screen::devicePixelRatio is equal to 1.0
.
Highlights Blog Post: Release 4.0.1: Support for Apple Sign In and Android Content URI, Improved Felgo Live Permissions on macOS
Felgo 4.0.1 adds support for the Apple Sign In Plugin, allows you to use content:// URIs on Android in Qt Quick, and includes better app permission handling for Felgo Live on macOS.
Felgo 4.0.1 comes as a free update for all Felgo developers.
import QtQuick import Felgo App { AppPage { Column { AppleSignInButton { id: appleSignInButton } AppText { text: !appleSignInButton.visible ? "Apple Sign-in unavailable." : appleSignInButton.appleSignIn.isLoggedIn ? "Signed in with Apple user: " + appleSignInButton.appleSignIn.userName : "Click above button to sign in with Apple user" } } } }
#include <QQuickWindow> int main(int argc, char *argv[]) { // Set OpenGL rendering QQuickWindow::setGraphicsApi(QSGRendererInterface::OpenGLRhi); QApplication app(argc, argv); … }
import Felgo import QtQuick App { NavigationStack { AppPage { id: page title: qsTr("Choose Photos") // right bar item to accept selection rightBarItem: TextButtonBarItem { text: "Next" enabled: imagePicker.selectedCount > 0 // your app will probably pop the photo selection page from the stack to move on // this example only logs the selected photos onClicked: console.debug("SELECTED:", JSON.stringify(imagePicker.selection)) } // image picker view for photo selection ImagePicker { id: imagePicker anchors.fill: parent } } } }
Highlights Blog Post: Release 4.0: Create Beautiful Cross-Platform Apps with Qt 6
Felgo 4.0.0 makes it possible to develop Felgo apps with all the latest features of Qt 6.4.1. The release also brings support for the CMake build system, includes a custom build of the Qt Location module and updates Felgo controls to use Qt Quick Controls 2.
Felgo 4.0.0 comes as a free update for all Felgo developers and can be installed side-by-side to Felgo 3.
You can download the Felgo 4 installer here.
The switch to Felgo 4 and Qt 6 comes with many different changes for various Qt Modules and Felgo components. The following list summarizes the most important topics:
icon
property. As a result, it is now required to use a new iconType
property for configuring an IconType in Felgo controls. This affects various QML types like
AppIcon, AppButton, AppCheckBox, AppActivityIndicator, ActivityIndicatorBarItem, FloatingActionButton, IconButton, IconButtonBarItem, NavigationItem or SearchBar. In addition, the Felgo Page,
ScrollIndicator and Icon types are now renamed to AppPage, AppScrollIndicator and AppIcon to avoid naming collisions with the respective Qt types:
import Felgo import QtQuick App { Navigation { NavigationItem { title: "Home" iconType: IconType.home // Change icon to iconType AppPage { // Change Page to AppPage here Column { anchors.centerIn: parent AppButton { text: "Click me" iconType: IconType.handodown // Change icon to iconType } AppCheckBox{ text: "Enabled?" iconType: IconType.adjust // Change icon to iconType } } } } } }
For detailed information on all the changes and how to migrate your Felgo 3 project, see the Felgo 4 update guide: Felgo 4 Update Guide and Project Migration for Qt 6.
Apart from the necessary changes for migration to Qt 6, the Felgo 4 release also includes new features, improvements and fixes for the Felgo SDK, which are listed in the sections below.
PendingIntent
flags. No code changes are required for
existing projects using the plugin.
Component.onCompleted
handler of the app window.
See the Felgo 3 Releases for more information on the currently available version of Felgo 3.
Felgo 3.10 with Qt 5.15 can still be used independent from Felgo 4. It is possible to install Felgo 3 side-by-side with Felgo 4 or other Qt installations.
You can thus keep your Felgo 3 project until you are ready to migrate to Qt 6 and Felgo 4.