Qt je objektově orientovaný framework napsaný v jazyce C++. Jeho hlavní devízou je heslo: „Write once, compile anywhere.“ Umožňuje vývojářům používat jeden zdrojový kód pro aplikace běžící na Windows, Linuxu, macOS, Androidu, iOS i v embedded systémech.
Qt se skládá z několika klíčových modulů a technologií:
Vývoj v Qt se obvykle opírá o integrované prostředí (IDE):
Qt je často srovnáván s GTK, ale jejich filozofie se liší:
| Vlastnost | Qt | GTK |
|---|---|---|
| Jazyk | Nativně C++, vazby pro Python (PySide/PyQt). | Nativně C, objektovost přes GObject. |
| Rozsah | Celý ekosystém (včetně kontejnerů, sítě). | Zaměřeno primárně na GUI (zbytek řeší GLib). |
| Licence | Komerční nebo Open Source (GPL/LGPL). | Open Source (LGPL). |
| Vzhled | Emuluje nativní vzhled každého systému. | Má svůj specifický styl (vychází z GNOME). |
Qt je velmi populární i v komunitě Pythonu. Existují dvě hlavní knihovny:
1. **PySide (Qt for Python):** Oficiální projekt od tvůrců Qt (The Qt Company). 2. **PyQt:** Starší, velmi stabilní knihovna vyvíjená společností Riverbank Computing.
Jednoduché okno s tlačítkem využívající signály a sloty:
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QPushButton button("Klikni na mě");
// Propojení signálu (kliknutí) se slotem (ukončení aplikace)
QObject::connect(&button, &QPushButton::clicked, &app, &QApplication::quit);
button.show();
return app.exec();
}
—
Víte, že? Na frameworku Qt je postaveno celé desktopové prostředí KDE Plasma, ale také aplikace jako VLC Media Player, Telegram, Autodesk Maya nebo palubní systémy ve vozech Tesla.
Související: gtk, C++, Linux, Oficiální web Qt