Co je QT: instalace, funkce práce, recenze programátorů

Cross-platformová struktura QT (struktura KP) se používá jako grafická sada nástrojů a také užitečná při vytváření aplikací CLI. Pracuje na třech hlavních stolních počítačích, mobilních operačních systémech (Symbian, Nokia Belle, Meego Harmattan, MeeGo) a vestavěných zařízeních, která mohou trvat prodloužení QT intervalu.

Historie vývoje programu

Vývoj QT byl zahájen v roce 1990 norskými programátory Ayr Chambé-Eng a Haavard Nord. Jejich společnost Trolltech prodávala licence QT a poskytovala technickou podporu. Dnes je firma pojmenována Společnost QT a je dceřinou společností společnosti Digia Plc se sídlem ve Finsku. I když je to hlavní hnací síla, je nyní vyvíjena větší aliancí.


Skládá se z mnoha firem a jednotlivců po celém světě a pracuje s použitím meritokratického modelu řízení. Každý, kdo chce, se může přidat do týmu. Existuje mnoho způsobů, jak osobně přispět k projektu QT. Co to znamená? Jedná se např. O psaní kódu nebo dokumentace pro rámec, o hlášení chyb nebo o pomoc ostatním uživatelům na fóru ao údržbě stránky na internetu. Ačkoli může být s programem použit jakýkoli systém sestavení, má vlastní qmake. Jedná se o platformu založenou na platformě, která není založená na platformě, například GNU Make, Visual Studio a Xcode. CMake je také populární alternativou k vývoji projektů. Málokdo ví, že takový QT je k dispozici s různými licencemi. Toto je komerční afree software v několika verzích GPL a LGPL.


Podpora QT 4 byla integrována před mnoha lety a QT 5 poskytl podporu již v počáteční fázi. Nový projekt QT Suite Build aka Qbs právě vyšel. Jedná se o systém založený na založení QML, který také podporuje balení javascript a CMake.

Integrované vývojové prostředí

Struktura KP přichází s vlastním integrovaným vývojovým prostředím (IDE) nazývaným QT Creator, který běží na systémech Linux, OS X a Windows. Nabízí inteligentní dokončení kódu, zvýraznění syntaxe, integrovanou helpdesku, ladicí program a integraci všech hlavních řídicích systémů verzí, jako je git, Bazaar. Vedle vývoje nástroje QT Creator v systému Windows můžete také použít doplněk Visual Studio a další IDE, například KDevelop na KDE. Struktura KP dokonale podporuje internacionalizaci (i18n) a lokalizaci (l10n). Nástroj QT Lingvista a jeho partneři lupdate, lrelease a lconvert usnadňují překlad aplikací do požadovaných jazyků. Podporuje většinu nahrávacích systémů, které se dnes používají. Grafické rozhraní je vytvořeno přímo na C ++. Všimněte si, že QT provádí tuto akci pomocí modulu Widgety. Dodává se také s grafickým nástrojem QT Designer, který funguje jako generátor kódů grafických rozhraní založených na Widgets. QT Designer lze použít samostatně.

Vývoj grafického rozhraní

QTQuick poskytuje potřebné moduly pro vytvoření grafického rozhraní s QML. Můžete psát celé programy pouze v QML, ale zpravidla je GUI napsáno v QML a program backendimplementováno na C ++. Kromě toho má Creator vestavěný grafický návrhář QTQuick a scroller.
CP-struktura je mnohem více než jednoduchá GUI toolkit. Poskytuje modul pro rozvoj cross-platform do sítí, databází, OpenGL, webové technologie, senzory, komunikační protokoly (Bluetooth, sériové porty, NFC), zpracování XML, JSON, tisk, vytvářet PDF, a interval QT mnohem víc. Aplikace, které ji používají, jsou obvykle napsány v jazyce C ++ a vazby QML v jiných jazycích existují a mohou být poskytovány třetími stranami. Například Riverbank Computing je komerční a svobodný software pro Python vázání (PyQT). Je třeba zdůraznit, že takový QT má mnoho atributů, které lze změnit pomocí getrů a setrů. Pokud se atribut nazývá foo, spojený getter a setter bude mít následující popis: T foo () const void setFoo (const T). Interval QT rozšiřuje systém atributů, getrů a nastavovačů, které jsou vlastnictvím. Je třeba vysvětlit konkrétní terminologii. Vlastnost je hodnota libovolného typu, ke kterému lze přistupovat, měnit nebo konstantně, a změnu informovat. Vlastní systém je užitečný, zejména ve třetí části (QML).

Vzhledem k tomu, hierarchie

QT rozsáhlé použití dědičnosti, zejména modulů widgety. QObject je základní třída. Poskytuje některé velmi výkonné funkce:
  • můžete nastavit název jako řetězec vyhledávat objekty.
  • Rodičovský systém.
  • Signály a sloty.
  • Správa událostí.
  • widgety mohou reagovat na události a použít systém rodičovských systémů a signálůsloty Zděděné jsou z QObject. Nejjednodušší widget je QWidget. Obsahuje většinu vlastností používaných k popisu oken nebo widgetů, jako je pozice a velikost, kurzor myši a popisky nástrojů.
    Miniaplikace QT může být také okno. Proto není potřeba třída QWindow. Téměř všechny grafické prvky jsou zděděny z QWidgetu:
  • QAbstractButton, základní třída pro všechny typy tlačítek.
  • Rozšíření rozsahu QT.
  • QPushButton.
  • QCheckBox.
  • QRadioButton.
  • QFrame, který zobrazuje rámeček.
  • QLabel, který zobrazuje text nebo obrázky.
  • Toto dědictví se provádí za účelem usnadnění správy vlastností. Některé z nich, například velikost a kurzory, lze aplikovat na jiné grafické komponenty, zatímco QAbstractButton poskytuje kvalitu, která je sdílena všemi tlačítky.

    Systém rodičovské kontroly

    Tento řídicí systém je vhodný způsob práce s objekty v QT, zejména s widgety. Každý objekt, který zdědí QObject, může mít nadřazené a podřízené prvky. Tento strom hierarchie usnadňuje práci:
  • Když je objekt zničen, všechny jeho nadřazené vazby jsou také vyčištěny. Volání odstranění se proto stává zbytečným.
  • Vedlejší widgety v QWidgetu se automaticky objevují uvnitř nadřazeného zařízení.
  • Téměř všechny nástroje uživatelského rozhraní mají mechanismus pro detekci a reakci na akci.

    Signály a sloty

    QT poskytuje dvě koncepty na vysoké úrovni: signály a sloty. Signál je zpráva o změně stavu objektu. K dispozici je slotfunkce, která slouží k přijímání a reakci na signál. Tyto koncepty jsou užitečné pro stisknutí tlačítek, ale mohou udělat mnohem víc. Například se používají k přenosu informací. Předpokládejme, že při přehrávání skladby potřebujete ukazatel, který ukáže, kolik času zbývá před ukončením zvuku. Media Player může být třídou používanou pro kontrolu pokroku v médiích. Instance této třídy může periodicky odesílat signál indikující hodnotu změny. Hypotetická třída používaná k testování pokroku může dát signál, který má podpis: void MediaProgressManager :: tick (int milisekundy). Pokud vývojář připojí signál do slotu, který nepoužívá stejné parametry, dostane uživatel varování: QObject :: connect: Nepojající argumenty odesílatele /přijímače. To je způsobeno tím, že signál přenáší informace do slotu pomocí určitých parametrů. Vlastnosti konceptů:
  • Jeden signál může být připojen k několika slotům.
  • K jednomu slotu lze připojit mnoho signálů.
  • signálu může být připojen k další signál - to se nazývá relé.
  • , druhý signál je odeslána, když nejprve přijata.
  • Problémy Search kompilace

    Při sestavování programu, a to zejména v situacích, kdy se přidávají makra Q_OBJECT, může selhat: main.cpp: nedefinovaný odkaz na VTable pro okna‘.
    Je tomu tak proto, že překladač nespustí ve třídě Metaobjekt. V tomto případě, qmake restartuje, vykonávajícíBuild & gt; Spusťte qmake Tlačítko je standardní součástí grafického rozhraní struktury KP. To je často používáno k vytvoření jedinečné volby ze seznamu, například v QT QRadioButton vytvořit přepínače.
    Díky jeho dědictví se QRadioButton chová přesně jako QPushButton. Všechny vlastnosti jsou stejné. Ve výchozím nastavení nejsou QRadioButtons seskupeny, takže mnohé z nich mohou být kontrolovány současně. Chcete-li mít "exkluzivní" chování mnoha přepínačů, musíte povolit QButtonGroup. To se děje takto: přidělit novou skupinu tlačítek a připojit ji k nadřazenému objektu. Všimněte si, že to může být hlavní okno.

    Instalace sady SDK pro Symbian a Nokia

    Chcete-li začít používat aplikace QT, potřebujete získat knihovnu a IDE. Můžete je vytvořit ze zdroje nebo nahrát jako SDK. Obsahují mnoho funkcí, jako jsou kompilátory pro Symbian a Nokia. Ujistěte se, že používáte tyto balíčky:
  • Dokumentace QMake.
  • ​​
  • Dokumentace QT.
  • QT 481 Destkop.
  • Tvůrce QT.
  • Můžete si vybrat jiné balíčky, pokud potřebujete vývoj pro Symbian /Maemo /Meego, stejně jako ty, které mají starší verzi QT. V Linuxu je lepší používat balíky poskytované distribucí. QT Creator by měl být dostupný téměř ve všech distribucích. Při rozbalení instaluje všechny závislosti, například knihovny, kompilátory a vývojové záhlaví. Nyní můžete vytvořit první okno psaním obvyklého "Dobrý svět".
    Před vytvořením první grafické aplikace otevřete Open Creator IDE C ++, což je velmi vhodné pro kódování aplikací QT. Dáváprohlížeč doc a "návrhář", který zjednodušuje vytváření oken. Všechny jsou vloženy do dobře promyšleného uživatelského rozhraní. QT se používá k označení toho, které knihovny a moduly jsou v projektu. Protože první aplikace je obvykle malé grafické uživatelské rozhraní, uživatelé budou potřebovat QTCore a QTGui. Nyní přidejte do aplikace aplikaci vstupní bod. Vezměte C ++ soubor nebo projekt. Zdrojový soubor C ++ musí dokončit úkol. Postupujte podle pokynů průvodce nastavením souboru na hlavní název. Poté je projekt připraven. V souboru projektu existuje nová linka QT, kterou automaticky přidá tvůrce. QApplication je velmi důležitá třída. Zajímá se o vstupní argumenty a cyklus událostí. Spustí při spuštění app.exec (). Chcete-li kompilovat tuto aplikaci, klikněte na zelenou šipku vlevo dole. Stvořitel zkompiluje a prodlužuje interval QT. Smyčka událostí bude spuštěna a bude čekat na akce, jako je kliknutí myší v grafickém rozhraní. Po kompilaci uvidí uživatel první okno QT. Jak to vypadá na obrazovce, je zobrazeno na fotografii níže.

    Kompilační systém Gmake

    Creator provádí úkoly systémového volání, ale je důležité vědět, jak byly kompilované QT programy. Jsou-li malé, je to snadné udělat ručně vytvořením souborů objektů a jejich připojením. Ale u velkých projektů je obtížné psát příkazovou řádku. V Linuxu jsou všechny programy kompilovány pomocí make-souboru, který popisuje příkazový řádek. Gmake je sběrný systém, který je dodáván s programem QT. Vygeneruje makléřské soubory pro vývojáře. Pomocí jednoduché syntaxe je vytvořen soubor.který se používá ke kompilaci programu QT. Ale to není jediný účel. QT využívá metaobjekty k rozšíření funkčnosti C ++, qmake je zodpovědný za přípravu souboru, který obsahuje tuto extrakční fázi. Program QT je kompilován ve 3 krocích:
  • .Pro soubor je popsán projekt pro kompilaci.
  • Značkový soubor je vytvořen pomocí qmake.
  • Program je vytvořen pomocí NMake na oknech.
  • Instalace programu Windows Creator

    Chcete-li program nainstalovat, přejděte na oficiální stránku Creator a stáhněte si software. Zvolte doporučený zavaděč:
  • Instalační program QT Online pro Windows. Klikněte na tlačítko "Stáhnout" v dolní části stránky, poté začne proces.
  • Spusťte instalační program QT Creator .exe poklepáním myši a spusťte připojenou aplikaci, ve které bude instalována v počítači.
  • U většiny obrazovek můžete jednoduše kliknout na tlačítko "Další" pro přechod na další možnost.
  • Na obrazovce Registrace můžete kliknout na položku Přeskočit.
  • Na obrazovce komponenty zloděje nejsou při instalaci MinGW vybrány některé verze s parametry Alpha, Beta nebo Preview.
  • Rozbalte trojúhelník QT, pak QT 5112 a zkontrolujte minibus 5 .xx 32 bitů.
  • Pokud tak neučiní, počítač nebude schopen zkompilovat a spustit programy v jazyce C ++. Pro všechny následující obrazovky proveďte QT Windows:
  • Klepnutím na tlačítko Další, Přijmout nebo Instalovat dokončete instalaci.
  • Poté klikněte na "Dokončit" pro spuštění aplikace Creator.
  • Zkuste sestavit /spustit ukázkový projekt.
  • Ujistěte se, že všechny díly fungujíspustit projekt, který používá knihovny Stanford C ++.
  • Stáhněte do počítače následující soubor projektu ZIP: sample-project.zip. Mělo by mít adresář nazvaný sample-project a několik složek uvnitř.
  • Otevřete projekt. V nástroji Creator vyberte File - & gt; "Otevřít soubor nebo projekt" nebo stiskněte Ctrl + O (Příkaz + O na Mac).
  • Přejděte do ukázkové složky projektu a otevřete soubor sample-project.pro. Stvořitel vás požádá o několik otázek, jak nastavit proces vytváření tohoto projektu.
  • Uživatel jednoduše přijme výchozí hodnotu a klikne na "Konfigurovat projekt".
    Tipy pro dudáky
    Chcete-li aplikaci používat, potřebujete speciální informace o jejích funkcích. Nejčerstvější dokumentační balíček je k dispozici v síti vývojářů. Poskytuje dokumenty DocNotes, které mohou uživatelé přidávat. Pokud byl QTSDK správně nainstalován, musí být také nainstalována dokumentace odpovídající aktuální verzi QT. Můžete také použít nástroj QT Assistant, který je samostatným prohlížečem doc. Důležité oddíly dokumentace:
  • Asistent QT.
  • QT Designer.
  • QT lingvist.
  • QMake.
  • Nejdůležitější součástí je QT referenční dokumentace. Poskytuje dobrý vstup mnoha komponent. Tento seznam se zobrazí na stránce Všechny třídy. Další zajímavá stránka je stránka, ve které jsou uvedeny všechny moduly. Poskytuje informace o různých součástech. Dokumentace v učebně je organizována následovně:
  • Název a stručný popis třídy.
  • Dědictví.
  • Přenos.
  • Vlastnosti.
  • Veřejné metody.
  • Otevřít sloty.
  • Signály.
  • Chráněné metody.
  • Hodnocení

    Ročně se počet uživatelů QT zvyšuje. Programátoři ve svých recenzích nejen psát, že struktura je docela pohodlná, levné, vysoce kvalitní, ale také dává nováčkům všechny výhody. Zde jsou některé z nich:
  • Rozhraní je čisté a srozumitelné. Má všechny potřebné nástroje pro výstup konzoly, ladění, trasování a také užitečnou funkci pro přepínání mezi funkcemi a jejich definicemi.
  • Funkce QT pro vytváření, ladění a sledování je velmi užitečná, zejména pokud jde o hledání chyb v kódu softwarového produktu.
  • Můžete snadno přejít na část kódu, což způsobuje problém vidět místní proměnné a jejich obsah v reálném čase.
  • Návrhář /formuláře UI je obrovský spořič času při vytváření složitých rozhraní. Pokud jej nepoužíváte, jsou nutné ruční manuální zadání.
  • V QT jsou jeho knihovny a kompilátory snadno udržovány v nastavení profilu pro snadné spínání a následné použití.
  • Jak je vidět, struktura mezi platformami může pokrývat všechny cílové platformy jednou technologií a kódovou základnou, což minimalizuje dobu vstupu na trh a náklady na údržbu.

    Související publikace