Qt development on Fedora Linux raises questions, what can be done on Fedora Linux and what else is needed and how it can be used when using Linux desktop?
- 3Mobile
- 3.1Google Android toolchain: Android Studio
- 3.2Apple iOS toolchain: XCode
There are three main development modes: Widget, Quick and Python.
Download and install Qt Creator. Go to the Qt Creator official download site to download this software. Near the middle of the page, there is a gray bar of links; in that bar, click the link named 'Qt Offline Installers'. Now scroll down to 'OS X Host', and choose Qt 5.5.1 for Mac (588 MB). (The exact version may change over time, but make. Step 3: Build the Qt Library. To configure the Qt library for your machine type, run the./configure script in the package directory. By default, Qt is configured for installation in the /usr/local/Qt-%VERSION% directory, but this can be changed by using the -prefix option. Download PyQt-Mac for free. Binary distribution of PyQt with native support for Mac OS X, including Qt with QScintilla support and the Python-Qt modules, and the Eric3 Python IDE. Qt without Xcode. How to use Qt Creator for software development on macOS without having to install Xcode. Qt refuses to install on macOS unless Apple's Xcode is installed beforehand.
Mac qt free download - Qt SDK, Qt Creator IDE, WinZip Mac, and many more programs.
Qt Widget based development is the original (since 1995-05-20), OOP (Object Oriented Programming) and C++ way of Qt programming.
Qt Quick and its QML (Qt Modeling Language) was introduced (2010) as easier and quicker way to create user interfaces. A QML document is, similarly to HTML, a description of an hierarchical object tree. The code structure looks very similar to a definition of a JSON object. QML objects can be styled, similarly to CSS, and JavaScript code can be inlined to handle assertive aspects. If you're familar with front-end web developement you'll grasp QML in no time.[1] - so the Qt Widget programming is the traditional programming where code is written in C++ and compiled to binary, Qt Quick + QML was created to get vast amount of web-developers involved to Qt-developement.
Qt for Python provides both of these worlds, both programming methods can be used in Python language and in less tedious format without compiling the source code.
Desktop development is straightforward with Fedora Linux, all needed packages exist in standard repositories and main toolchain is available.
<html><iframe width='560' height='315' src='https://www.youtube.com/embed/WFGRr0DV3oM' frameborder='0' allow='accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture' allowfullscreen></iframe></html>
Qt for Python currently (2019-04) is not supported on iPhone nor Android target devices.
Google Android toolchain: Android Studio
Android SDK, NDK (native development kit, C/C++), Java (Linux OpenJDK can be used).
Android Studio download
Apple iOS toolchain: XCode
Development for iOS devices is done using Apple Xcode IDE. To use it, the Apple developer account and iOS Developer Program certificate is needed and received from Apple when joining to the developer program. Certificate is used to install application to a device.
The current Mac OS X relase is High Sierra 10.13.6 (2019-05-20).
Xcode download
Mac OS X installation ISO-image download requires existing Mac OS X installation that came with Apple laptop.
- developer.apple.com - Programs overview
- developer.apple.com - enroll actual steps to get started.
Xcode on Fedora Linux
Xcode runts on Mac OS X operating system that is based on BSD variant. Its binaries and hence Xcode does not run directly on Linux. However, OS X can be run inside virtual machine like VirtualBox that runs on local Fedora desktop.
Xcode on shared Mac Server
Apple used to manufacture physical hardware servers and Mac OS X server operating system for them. Since then they stopped both and these days Mac OS X runs on x86_64 hardware and has its plus edition has server features that can be installed on Intel x86_64 hardware.
Xcode on cloud server
There are service providers that rent servers running Mac OS X and provide remote access to it. That might be a feasible solution for most, for some with strict source code privacy, it might be challenging to get proper NDA contract.
Hardware targets via USB
Locally? No idea.
Remotely to Windows or Mac OSX: In theory yes. Fedora's RDP client FreeRDP supports USB-port redirection over IP and some devices like USB-cameras and smartcard readers are reported to work (2019 beginning). However, the forwarding appers to be device specific and Android- and iOS-phones are not supported.
Few notes:
- Fedora's freerdp package needs to be recompiled with -DCHANNEL_URBDRC_CLIENT=ON setting (that is off by default in spec) and reinstalled:
list of build options.
- In order to work on Windows host must be enabled:
- processor in server must support Streaming SIMD Extensions 2 (SSE2) run: dxdiag
- run gpedit.msc as an Administrator
- Group Policy Computer Configuration, Administrative Templates, Windows Components, Remote Desktop Services, Remote Desktop Connection Client, RemoteFX USB Device Redirection: Allow Admnistrator and users
- run cmd, gpupdate /force as an Administrator
- reboot
Examples at Linux side:
redirect all devices that are connected after session connection.
Qt Creator Mac Download
usb redirection and redirect device 05ac:12a8 (id in lsusb listing).
same as before with debugging.
Messages like:
should be harmless.
Currently this apparently does not work from Fedora desktop to Windows.
- ↑Crash course in Qt for C++ developers referenced: 2019-04-24
Qt's iOS port allows you to run Qt applications on iOS devices, such as iPhones, iPads, and iPod Touches.
Supported Configurations
The following configurations are supported.
Target Platform | Architecture | Build Environment | Notes |
---|---|---|---|
iOS 12, iOS 13 | armv8 (arm64 ) | Xcode 11 (iOS 13.2 SDK) | |
tvOS 12, tvOS 13 | armv8 (arm64 ) | Xcode 11 (tvOS 13 SDK) | Technology Preview |
watchOS 5, watchOS 6 | armv7k | Xcode 11 (watchOS 6 SDK) | Technology Preview. No UI. |
Getting Started
Development and deployment is done using Xcode. The supported workflow is to maintain a
.pro
file based project, which generates an Xcode project. Building and deploying can be done using either Xcode or Qt Creator. We will look at that in more detail in the next section.The minimum deployment target for Qt applications is specified in Supported Platforms.
Setting Up the Development Environment
You can download the Qt 5 installers from the Downloads page. For more information, see Getting Started with Qt.
Before installing Qt, you first need to install Xcode. You will find it in the Mac App Store here.
Note: As recommended by Apple, you should always use the latest Xcode version when building your applications for the App Store. In practice this means you also need the latest version of macOS to develop apps with Qt, due to Xcode's system requirements.
For running Qt applications on your Mac or in the simulator that comes with Xcode, this is all you need. However, for running applications on a mobile device and/or publishing your applications in the App Store, you must join the Apple Developer Program, and set up developer certificates and provisioning profiles. The easiest solution is to use a profile that takes any App ID (a
*
).Before building any Qt applications, you should test that Xcode is set up correctly, for example, by running one of the standard Xcode application templates on your device.
Building Applications From the Command Line
As mentioned previously, the development workflow consists of maintaining a normal
.pro
file project and exporting it to Xcode.Here is how to build a project with Xcode:
- run qmake (if you have not done so previously)
- open the resulting
.xcodeproj
file in Xcode - build the application in Xcode
Note that you must re-import the project if its setup changes, for example, when adding or removing source files.
Building Applications with Qt Creator
You can find information on how to set up and run Apple mobile device applications in Qt Creator's manual:
- Connecting Apple Mobile Devices.
As mentioned previously, you must have Xcode installed.
Using Objective-C Code in Qt Applications
Clang, the compiler used for applications on Apple Platforms, allows mixing C++ and Objective-C code. To enable this mode, suffix your source files with
.mm
, and add them to OBJECTIVE_SOURCES
instead of SOURCES
in the .pro
file. This makes it possible to use frameworks from Apple's Developer Library in Qt applications. Most useful is perhaps the possibility for adding In-App Purchasing with the StoreKit framework.Examples for iOS
In Qt Creator, tested examples on iOS can be looked up. Use the
ios
keyword to search for examples in the Qt Creator Welcome mode. Note that some examples may have limited functionality.For a list of examples known to work on iOS devices, visit Qt for iOS Examples.
Related Topics
Qt Designer Download Mac Download
The following topics provide more details about Qt for iOS:
Qt Designer For Windows
© 2020 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.