http://gitlab.fjfi.cvut.cz/culikzde/uop-2023 http://gitlab.fjfi.cvut.cz/culikzde/uop-2022 http://gitlab.fjfi.cvut.cz/culikzde/uop ====== Literatura ====== * Mark Summerfield: Rapid GUI Programming with Python and Qt * [[https://www.micc.unifi.it/bertini/download/programmazione/TICPP-2nd-ed-Vol-one-printed.pdf|Bruce Eckel: Thinking in C++, Volume 1]] * [[http://vergil.chemistry.gatech.edu/resources/programming/pdf/TIC2Vtwo.pdf|Bruce Eckel: Thinking in C++, Volume 2]] * [[https://raw.githubusercontent.com/abhinavkorpal/awesome-computer-science-EBook/master/DesignPatterns/Thinking%20in%20Patterns%20in%20Java-%20Bruce%20Eckel.pdf|Bruce Eckel: Thinking in Patterns in Java]] ====== Python a Qt ===== Windows: https://www.python.org/ftp/python/3.8.5/python-3.8.5.exe z příkazové řádky ** pip3 install PyQt5 ** Arch Linux: pacman -S python-pyqt5 \\ Debian/Ubuntu: apt-get install python3-pyqt5 \\ Fedora: dnf install python3-qt5 Minimalistický návod na instalaci prosředí Qt Creator [[qt:ide_qtcreator]] ====== Typové informace v knihovně Open Inventor ====== [[qtinventor|Qt Inventor]] ====== Třídy ====== Připomene si třídy, které známe z celé řady programovacích jazyků. \\ Abychom se podívali na něco nového, mrkneme se na Python. \\ Kvůli zobrazení okének použijeme Qt. \\ Občas také použijeme C++. [[button|jednoduchá třída představující okno s jedním tlačítkem]] [[strom|jednoduchý strom]] ====== Virtuální metody ====== V předcházejícím příkladu jsme na různé události reagovali pomocí metod připojených Qt funkcí //connect//. \\ Zkusme si nyní předefinovat nějakou virtuální metodu deklarovanou v nadřazené třídě. [[paint|virtuální metoda pro vykreslení vnořeného okénka]] [[draw|virtuální metoda v C++]] ====== Typové informace ====== [[qt_py_typeinfo|typové informace z Qt knihovny]] ====== Několik dalších příkladů s PyQt ====== http://github.com/zdenekzc/pyqt-steps ==== Jednoduchý editor ==== [[simple_editor|jednoduchý editor]] ==== Editor s obarvováním a doplňováním ==== [[editor|editor]] ==== Strom zobrazující soubory ==== [[file_tree|file tree]] [[file_crc|kontrolní součty souborů]] ==== Graphics scene ==== [[graphics_scene]] ==== SVG obrázek ==== [[svg]] ==== XML soubor ==== [[xml]] ==== Jednoduchá SQL databáze ==== [[sql]] ====== C++ ====== [[impl|implementace virtálních metod pomocí ukazatelů na funkce]] ====== Tabulka virtuálních metod ====== [[vmt| Tabulka virtuálních metod]] ====== Přetypování dynamic_cast ====== [[dynamic|přetypování dynamic_cast]] ====== Typové informace v knihovně Open Inventor ====== [[qtinventor|Qt Inventor]] ====== Návrhové vzory - singleton ======= [[singleton]] ====== Návrhové vzory - factory ======= [[factory]] ====== Návrhové vzory - visitor ======= [[visitor]] ====== Qt properties ======= [[qtproperties]] [[qtproperties2|qt properties 2021]] ====== Python and C++ Classes ==== http://kmlinux.fjfi.cvut.cz/~culikzde/highlight/ ====== 2023 ====== [[introduction]] ==== Virtuálnílni metody - Qt paintEvent ===== [[qtpaint]]