Šesté cvičení - úvod do Qt, první programy

Dostupná literatura

První příklad - hello world v Qt

  • seznámení s frameworkem Qt
  • třída QApplication
    • metoda exec pro spuštění smyčky událostí (event loop)
    • metoda (slot) close pro ukončení aplikace
  • třída QObject
    • společný předek všech tříd ve frameworku Qt
    • statická metoda connect - zákled mechanismu signálů a slotů
    • statická metoda tr - význam pro překlad aplikace do jiných přirozených jazyků
  • třída QLabel
    • textový (později uvidíte, že i grafický) popisek
  • třída QPushButton
    • tlačítko
    • signál clicked()
    • vytváření klávesových zkratek - znak ampersand v textu tlačítka
  • nástroj qmake
    • pro správu projektů
    • qmake -project vygeneruje soubor s informacemi o projektu
    • qmake pak z projektového souboru vygeneruje Makefile soubor
    • sestavení projektu pak už přes make

Druhý příklad - úvod do signálů a slotů, rozvržení formuláře

  • správa projektu v prostředí Qt Creator
    • šablona Application -> Qt Widget Application
    • Qt Creator: nastavení projektu | Qt Creator: nastavení projektu
    • potřeba vybrat předka, ze kterého se odvodí okno aplikace
      • QMainWindow - pro složitější projekty, jde o okno s hlavní nabídkou, panely nástrojů, stavovou lištou
      • QDialog - dialogové okno (chybí panely nástrojů, nabídky, obsahuje tlačítka pro potvrzení a zrušení dialogu)
      • QWidged - vlastní widget, prázdné okno
    • prozatím nechat odškrtlé Generate form
  • mechanismus signálů a slotů
    • každá třída odvozená od třídy QObject může vysílat a přijímat signály
    • slouží pro komunikaci mezi jednotlivými částmi aplikace
    • spojení zajišťuje metoda QObject::connect()
      • první parametr je ukazatel na QObject vysílající signál
      • druhý parametr je hlavička vysílaného signálu zapsaná do makra SIGNAL
      • třetí parametr je ukazatel na QObject přijímající signál
      • čtvtý parametr je hlavička slotu uzavřená do makra SLOT
    • jeden signál může být přijímán více sloty (příjemci)
    • zrušení spojení: metoda disconnect
  • widget - třída, která je viditelnou součástí formuláře (tlačítka, popisky, vstupní pole)
    • potomci třídy QWidget
    • potřeba definovat rozložení (layout)
      • horizontální - widgety jsou uspořádány vedle sebe
      • vertikální - widgety jsou uspořádány pod sebou
      • mřížkové - widgety jsou uspořádány do mřížky
      • součástí rozvržení jsou widgety, ale také podřízená rozvržení - widgety tvořící formulář rozděleny do stromové struktury
      • nastavení rozvržení widgetu - metoda setLayout
      • nastavení titulku okna - metoda setWindowTitle
  • další widgety
    • QSpinBox - pro zadávání celočíselných hodnot
      • obsahuje signál valueChanged(int)
      • obsahuje slot setValue(int)
    • QSlider - posuvník
      • obsahuje signál valueChanged(int)
      • obsahuje slot setValue(int)

Přílohy

Poslední úprava stránky: 18.03.2020, 00:06
Powered by PmWiki