The Qt Project
This page is focused on the contribution and community aspects of the Qt Project, in case you are looking for information related to The Qt Company visit qt.io.
This page is focused on the contribution and community aspects of the Qt Project, in case you are looking for information related to The Qt Company visit qt.io.
The Qt Project is an open collaboration effort to coordinate the development of the Qt software framework and tools.
Qt is a cross platform application development framework for creating GUI and applications that run on various software and hardware platforms.
All Qt modules are released under the open source licenses LGPLv3/GPLv3, and the project is under an open-source governance that involve individuals and organizations working on advance Qt.
Thanks to the KDE Free Qt Foundation which secure the availability of the Qt toolkit for the development of Free Software and for KDE Software.
Qt was officially released in 1991, and with more than 35 years of experience, is one of the most used and well-known UI frameworks used in the world.
Besides most of the framework being written in C++, Qt has introduced its own declarative language QML and has embraced other languages for bindings and applications like Python, Rust, C#, Java/Kotlin, and Swift.
We are actively looking for new contributors. Even if you are starting, we encourage to contribute! As a first-timer contributor, you will get reviewers assigned automatically to your first patch so they can help you.
The following steps are intended for code and documentation contributions, but keep in mind you can help the project in many other ways.
Register your Qt account, so you can easily authenticate among all the Qt services: Bug tracker, Gerrit, Wiki, etc.
You can check the platform-dependent requirements for building Qt from source in the documentation page, here is a short list:
You can get the
qtbase repository
as a starting point which include many modules like Core, GUI, and Widgets:
git clone https://code.qt.io/qt/qtbase.git
All the qtbase modules can be
found here.
Other Qt modules can be found here.
In order to initialize this meta repository, and get all the sub-modules you can
use the init-repository Perl script. There are a few options in case you want
to only initialize a few sub-modules, on specific branches read more
here
Login into Gerrit and add your desire information to your account, but remember to accept the CLA.
Configure your SSH and add the proper remote to your repository. Read more about the process on the wiki about the process, but if you configured everything correctly, when trying the following command:
ssh codereview.qt-project.org
you should get the following message:
**** Welcome to Gerrit Code Review ****
Hi <name>, you have successfully connected over SSH.
Unfortunately, interactive shells are disabled.
To clone a hosted Git repository, use:
git clone ssh://<username>@codereview.qt-project.org:29418/REPOSITORY_NAME.git
Connection to codereview.qt-project.org closed.In case you are not solving a problem you encounter while developing an application, you can check the list of open issues in our bug report system in order to find something that is interesting to you.
Once you have your local patch ready to submit, remember a few things:
Check the Commit Policy
and remember to add a Task-number: or Fixes: entry to the commit footer.
Since your patch will be pushed to the dev branch,
add a Pick-to: when a cherry pick to another branch if necessary.
git add <the files you modified>
git commit # this will open an editor, for you to write a message
git push gerrit HEAD:refs/for/dev
If the push worked well, you will get a URL for your new change
on Gerrit where you will be able
to modify the commit message with the web interface, add reviewers,
and view your change in detail.
Develop your Qt application in the following systems
Looking for contact other Qt developers?
Qt also has numerous channels
on the Libera.chat network,
some of which are also bridged to KDE's Matrix instance.
Additionally, you can find help in the Qt Forum.