Uživatelské nástroje

Nástroje pro tento web


qt

Qt Framework

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.

Hlavní technologie Qt

Qt se skládá z několika klíčových modulů a technologií:

  • Qt Widgets: Tradiční způsob tvorby rozhraní pomocí C++. Ideální pro desktopové aplikace s komplexními ovládacími prvky.
  • Qt Quick & QML: Moderní, deklarativní jazyk (podobný JSON/JavaScriptu) pro tvorbu plynulých, animovaných rozhraní, která jsou optimalizovaná pro dotykové displeje.
  • Signals and Slots: Unikátní mechanismus pro bezpečnou komunikaci mezi objekty. Nahrazuje složité callback funkce.
  • Qt Meta-Object System: Rozšíření C++, které přidává reflexi, introspekci a dynamickou práci s vlastnostmi objektů.

Vývojové nástroje

Vývoj v Qt se obvykle opírá o integrované prostředí (IDE):

  • Qt Creator: Rychlé a lehké IDE navržené přímo pro Qt. Obsahuje vizuální návrhář rozhraní (Qt Designer).
  • Qt Design Studio: Nástroj pro designéry, který umožňuje importovat grafiku z Figmy nebo Photoshopu a transformovat ji přímo do kódu QML.

Srovnání: Qt vs. GTK

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 a Python (PySide vs. PyQt)

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.

Příklad kódu (C++)

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

qt.txt · Poslední úprava: autor: admin