Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.

Portal:Desktop

From Qt Wiki
Revision as of 17:53, 25 March 2016 by Wieland (talk | contribs) (Added section about version control systems)
Jump to navigation Jump to search

En Ar Bg De El Es Fa Fi Fr Hi Hu It Ja Kn Ko Ms Nl Pl Pt Ru Sq Th Tr Uk Zh

Setting up Your Computer for Application Development

Choosing a Suitable Operating System

First of all you need to install a suitable operating system (OS) on your development machine. From now on we'll call that development machine the host machine and the OS it runs we'll call the host platform. The choice for a suitable host platform depends on what we'll call the target platform. The target platform is the OS on which the applications you are going to develop will run on.

In simple words:

  • If you want to write programs that run on Linux then for development you'll need a computer that also runs Linux.
  • If you want to write programs that run on Windows then for development you'll need a computer that also runs Windows.
  • If you want to write programs that run on OS X then for development you'll need a computer that also runs OS X.

Now, let's say your computer already runs operating system A but you want to write programs for operating system B. If you want to stay with A you can. You don't have to wipe your harddrive. You can install B in a virtual machine. So if your computer is a Mac you can install Linux and Windows in virtual machines and you're ready to target all three platforms with a single computer.

Choosing a Suitable Compiler

Qt is a C++ framework and works will all standard compliant C++ compilers. It's up to you which one you want to use. If you don't have any special demands then do this:

  • On Linux, use the GCC compiler that comes with your Linux distribution.
  • On Windows, use Microsoft Visual Studio Compiler 2015 (MSVC 2015).
  • On OS X, use the Clang compiler provided by Apple.

GCC and Clang are free software.

MSVC is not free software. You'll need a developer license to use MSVC. Luckily it is available as a free of charge "community edition". Consult Microsoft for license details.

If you can't or don't want to use MSVC and your host platform is Windows 7 or Windows 8.1, but not Windows 10, then you can instead use the GCC port for Windows, called MinGW.

Choosing an IDE

First of all, you don't have to use an IDE (integrated development environment) at all. You can just write your software with your favorite text editor and compile your programs on the command line. Also, if you want to use an IDE, the choice which one you want to use is up to you. If you're already familiar with development on Windows then you'll probably also familiar with Microsoft Visual Studio. If you're an OS X developer then you'll most likely know Apple Xcode. Qt comes with its own IDE, Qt Creator. As you might already have guessed, Qt Creator was written specifically for software development with Qt. Thus it has all all the stuff integrated you'll need: Intelligent code completion, syntax highlighting, help system, interactive GUI designers, and much more.

In simple words: Unless you know better use Qt Creator.

Choosing a Version Control System

If you're completely new to software development just skip this for now and come back to this in the future. Just for your information: Of course you can use any version control system with Qt. And of course you don't have to use one. Qt Creator has integration for all common VCSs, e.g. Git. Using a VCS should be just as normal to you as making backups of your data regularly. There are many VCSs available today with git beeing the most advanced and most common in use. Furthermore, with services like Github or Gitlab you can collaborate with other developers online and have a backup of all your software versions "in the cloud".

In simple words: Unless you know better use Git.


The actual situation is a bit more complex. Have a look at Supported Platforms.

Deployment

Installing / Building Qt

Widgets

QtQuick

2D

Database

Guidelines

WinRT

Other