Arcgis Runtime SDK for Qt: Building Apps Lucas Danzinger & Koushik Hajra Agenda

Total Page:16

File Type:pdf, Size:1020Kb

Arcgis Runtime SDK for Qt: Building Apps Lucas Danzinger & Koushik Hajra Agenda ArcGIS Runtime SDK for Qt: Building Apps Lucas Danzinger & Koushik Hajra Agenda • What is Qt • ArcGIS Runtime SDK for Qt capabilities • Getting started • Fundamental development patterns • How Esri uses Qt • Where to go from here What is Qt? What is the Qt Framework? • Write once, run anywhere Portable • Builds as native C++ Approach- • Cross-platform libraries able • High-level abstractions • Pre-built some platforms Open • Source code available Qt Framework - Cross platform libraries for native app development - Business logic in C++. - UI in QML (JavaScript-based) - Write once, deploy everywhere - Linux, Windows, Mac, iOS, Android - Platform nuances are abstracted - Abstraction APIs for common native workflows - HTTP, local data storage, sensors, Bluetooth, etc How does it work? Your App ComboBox, Button, Qt GUI (and other) Libraries Charts, QImage QNetworkManager, QFile, etc Qt Abstracted API Language Java Objective C Objective C C++ C++ Native platform Android iOS macOS APIs (http, file i/o, Linux Windows (via JNI & NDK) (via cocoa) (via cocoa) sensors etc) C++ Compiler clang/gcc clang clang gcc MSVC Platform Which platforms can I build for? • Windows – x86, x64 • Linux – x64, arm 64 (beta) • macOS – x64 • Android – armv7, armv8, x86 • iOS – arm64, sim ArcGIS Runtime SDK for Qt capabilities Offline Routing Offline Geocoding Offline Geometry Offline Maps/Scenes Symbols & Renderers (with customizations) Data Collection and editing ArcGIS Runtime SDK for Qt Geoprocessing Augmented Reality Search/Identify/ Query/Popups Navigation ArcGIS Platform Utility Network & Identity ArcGIS Runtime SDK for Qt Capabilities Koushik Hajra Getting started Setup • Setup Qt: - Create account - Commercial license / open-source? - Install kits for target platforms • Setup ArcGIS Runtime SDK for Qt - Create developer account - https://developers.arcgis.com/qt/latest/ • Install compiler / SDK dependencies - macOS/iOS: Xcode compiler - Windows: Visual Studio compiler, debugging tools - Linux: GCC compiler - Android: Android NDK and SDK • IDE - Qt Creator App development patterns Runs on Linux, Ideal place to macOS & Runs on iOS & App Pattern API to use start for Windows Android QML with Qt Quick QML Web Developer Yes Yes C++ with Qt Quick C++ C++ Developer Yes Yes C++ with Qt Widgets C++ C++ Developer Yes No Commonly-used pattern https://developers.arcgis.com/qt/latest/qml/guide/qt-sdk-best-practices.htm The QML API • QML is a declarative language from The Qt Company - Declare components similarly to writing JSON or CSS • Write procedural code as JavaScript functions • Create UI rapidly with Qt Quick, with animation and prebuilt controls • The QML API extends QML with new types that expose ArcGIS Runtime functionality • Used by AppStudio The C++ API • Flexible: Create your UI with Qt Quick (targets any platforms) or Qt Widgets (targets desktop platforms) - Most common design pattern: QML UI, C++ business logic • Works with Local Server (QML API doesn’t) Need help choosing between C++ and QML APIs? See https://developers.arcgis.com/qt/latest/qml/guide/qt-sdk-best-practices.htm Building your first ArcGIS Runtime Qt app Koushik Hajra Runtime fundamental patterns + Qt Asynchronous API • The Runtime API is a modern, asynchronous API • Tasks - RouteTask, LocatorTask, OfflineMapTask, GeoprocessingTask, Map.save … - All follow the same pattern - All are Loadable - All have async functions to execute their tasks - TaskWatchers are returned for keep track of concurrent tasks • Signals & Slots - Signal == “event” - Slot == “event handler” - *Slots can be defined as standalone methods or inline lambda functions Asynchronous API – example LocatorTask Asynchronous API – example LocatorTask Asynchronous API – example LocatorTask (QML) Asynchronous coding with Qt Koushik Hajra Memory management • C++ is not a managed language • Memory is not automatically handled for you - Pros - Close to the metal - Fine tuned performance - Fast - Can run on memory constrained devices - Cons - A little extra work for you Memory management – Qt Parent/Child • When you create a new object, you pass in a parent object. • When the parent object is deleted, so are the children • Can be any QObject – often you will see “this” • Any object you create on the heap, it is up to you to manage • Any object we return always has a parent (but you can re-set) Memory management – Clean up when you are done • Apps with lots of temporary graphics added and removed - You don’t want memory allocated for the lifetime of the app • Signals passing through pointers - The parent object is set by our API - No leaks, but memory will grow each time it emits • Use RAII – Resource Acquisition is Initialization - e.g. C++11 “smart pointers” – std::shared_ptr, std::unique_ptr - Other methods… Memory management – QML C++ memory management Koushik Hajra ListModels • Qt’s way of doing MVC/MVVM • Mutable lists exposed as list models in Runtime API - LayerListModel, GraphicListModel, etc • List Models can be displayed with - ListViews - TableViews - GridViews • Model – the data • View – what is displayed • Delegate – access the model’s “roles” ListModels – Map Layer Documentation ListModels – Map Layer List Example List Models Koushik Hajra Wrap up How is Esri using Qt? Runtime Core (for testing) How to get started using the SDK • Create a developer account - https://developers.arcgis.com/sign-up • Download Qt Framework and ArcGIS Runtime SDK for Qt - https://developers.arcgis.com/qt/latest/cpp/guide/install-and-set-up-on-windows.htm et al • Read the guide’s fundamental topics - https://developers.arcgis.com/qt/latest/qml/guide/arcgis-runtime-sdk-for-qt.htm • Study and modify the samples - https://github.com/Esri/arcgis-runtime-samples-qt • Use the Forum and join the community discussion - https://geonet.esri.com/community/developers/native-app-developers/arcgis-runtime-sdk-for-qt/ .
Recommended publications
  • Our Journey from Java to Pyqt and Web for Cern Accelerator Control Guis I
    17th Int. Conf. on Acc. and Large Exp. Physics Control Systems ICALEPCS2019, New York, NY, USA JACoW Publishing ISBN: 978-3-95450-209-7 ISSN: 2226-0358 doi:10.18429/JACoW-ICALEPCS2019-TUCPR03 OUR JOURNEY FROM JAVA TO PYQT AND WEB FOR CERN ACCELERATOR CONTROL GUIS I. Sinkarenko, S. Zanzottera, V. Baggiolini, BE-CO-APS, CERN, Geneva, Switzerland Abstract technology choices for GUI, even at the cost of not using Java – our core technology – for GUIs anymore. For more than 15 years, operational GUIs for accelerator controls and some lab applications for equipment experts have been developed in Java, first with Swing and more CRITERIA FOR SELECTING A NEW GUI recently with JavaFX. In March 2018, Oracle announced that Java GUIs were not part of their strategy anymore [1]. TECHNOLOGY They will not ship JavaFX after Java 8 and there are hints In our evaluation of GUI technologies, we considered that they would like to get rid of Swing as well. the following criteria: This was a wakeup call for us. We took the opportunity • Technical match: suitability for Desktop GUI to reconsider all technical options for developing development and good integration with the existing operational GUIs. Our options ranged from sticking with controls environment (Linux, Java, C/C++) and the JavaFX, over using the Qt framework (either using PyQt APIs to the control system; or developing our own Java Bindings to Qt), to using Web • Popularity among our current and future developers: technology both in a browser and in native desktop little (additional) learning effort, attractiveness for new applications.
    [Show full text]
  • What's New in Qt 6 on the Desktop?
    What’s new in Qt 6 on the desktop? Qt Desktop Days 2020 Giuseppe D’Angelo [email protected] About me ● Senior Software Engineer, KDAB ● Developer & Trainer ● Qt Approver ● Ask me about QtCore, QtGui, QtQuick, ... – And also about Modern C++, 3D graphics 2 The Road to Qt 6 Why Qt 6? ● Do architectural changes that simply cannot be done in Qt 5 ● Binary compatibility break – Applications must be recompiled ● Re-engineer features ● But also do some necessary housecleaning, drop ballast 4 Design Goals ● Keep as much (source) compatibility with Qt 5 as possible ● Add property bindings in C++ ● Improve QML & language bindings – Reduce overhead, increase type safety, compile to C++ ● Tackle the changing landscape in 3D APIs ● Modularize Qt even more 5 Keep the Good Parts! ● Easy to use APIs ● General purpose, cross platform application framework ● Make 90% easy to achieve, and 99.9% possible ● Excellent developer support, documentation, tooling ● Nurture the ecosystem around Qt 6 Looking ahead ● Qt 4: released 2005, EOL 2015 – ~30 modules ● Qt 5: released 2012, EOL 2023 – ~50 modules ● Qt 6: released 2020, EOL 20?? ● How to plan for the next decade? 7 Technical foundations ● C++17 – MSVC 2019, GCC 8, Apple Clang ● CMake buildsystem for Qt – qmake still supported for end user applications ● 3D API abstraction (Qt RHI) 8 Release Plan September 2020 October 2020 November 2020 December 2020 Alpha Beta Release Candidate Qt 6.0 Final Release ● Qt 6.0 feature freeze reached ● Binary weekly snapshots (already) available via the installer ● Reduced
    [Show full text]
  • Uživatelské Rozhraní Pro Vícekanálové Měřicí Systémy
    Uživatelské rozhraní pro vícekanálové měřicí systémy Bakalářská práce Studijní program: B2646 – Informační technologie Studijní obor: 1802R007 – Informační technologie Autor práce: Daniel Varnuška Vedoucí práce: Ing. Tomáš Bedrník Konzultant: Ing. Jan Kraus, Ph.D. Liberec 2019 User interface for multi-channel measuring systems Bachelor thesis Study programme: B2646 – Information Technology Study branch: 1802R007 – Information technology Author: Daniel Varnuška Supervisor: Ing. Tomáš Bedrník Consultant: Ing. Jan Kraus, Ph.D. Liberec 2019 Zadání bakalářské práce Uživatelské rozhraní pro vícekanálové měřicí systémy Jméno a příjmení: Daniel Varnuška Osobní číslo: M15000055 Studijní program: B2646 Informační technologie Studijní obor: Informační technologie Zadávající katedra: Ústav mechatroniky a technické informatiky Akademický rok: 2018/2019 Zásady pro vypracování: 1. Proveďte rešerši existujících řešení GUI aplikací pro vícekanálové měřicí systémy dostupné na trhu v oblasti měření spotřeby elektrické, hydraulické a pneumatické energie (např. HMGWin, SensoWin). 2. Navrhněte a naprogramujte GUI aplikaci pro vícekanálový měřící systém sestavený z měřicích modulů firmy KMB systems s.r.o. 3. GUI aplikace musí umožňovat zejména synchronní online sledování měřených hodnot, nahlédnout do konfigurace měřicích modulů, rychlou kontrolu správného zapojení sond, libovolně upravovat topologii systému, vytvářet dopočítávané kanály a ukládání měřených hodnot v počítači. 4. Dále musí vytvářet jednoduché čarové grafy aktuálního příkonu a dalších parametrů
    [Show full text]
  • Qt Quick Ui 023-001
    QT QUICK UI 023-001 Exam Curriculum Qt Quick UI 023-001 2 (5) The Qt Company provides Qt and QML developers with three kinds of certification exams: Qt and QML Essentials Widget UI and Application Engine with Qt Qt Quick UI Exam candidates may receive Certified Qt and QML Developer, Certified Qt C++ Specialist, and Certified Qt Quick Specialist certificates by passing the exams. A certificate is a valuable document, endorsing one’s Qt and QML knowledge to an employer or a customer. To achieve the Qt and QML Developer status, an exam candidate is required to pass the Qt and QML Essentials exam. The Qt C++ or Qt Quick Specialist status is granted to candidates, who additionally pass either or both Widget UI and Application Engine and Qt Quick UI exams. The former specialist exam tests candidates’ knowledge of Qt C++ APIs, including, e.g., widgets, threads, model/view framework, and QObject. The latter exam tests Qt Quick and QML knowledge. The exams can be taken in any order, but the candidate cannot receive either of the specialist certificates before the Qt and QML Essentials exam has been passed as well. So the Qt and QML Developer certificate is required for both specialist certificates as well. Certificate exams can be taken in any authorized PearsonVUE test center. The details of the test center locations and instructions how to make an appointment and attend the exam can be found at http://www.pearsonvue.com/qtcompany/. The exam price varies from test center to test center. The exact price can be inquired directly from test centers.
    [Show full text]
  • Aplikace Na Podporu Poskytování Letištní Letové Informační Služby
    Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky Bakalářská práce CAAFIS: Aplikace na podporu poskytování letištní letové informační služby Plzeň 2015 Martin Váňa Poděkování / Prohlášení Chtěl bych poděkovat Ing. Kamilu Prohlašuji, že jsem bakalářskou práci Ekšteinovi, Ph.D. za vedení této práce vypracoval samostatně a výhradně s po- a věcné připomínky. Dále bych rád užitím citovaných pramenů. poděkoval RNDr. Petru Olšákovi za V Plzni dne 22. 4. 2015 nástroj OPmac. ........................................ Martin Váňa Microsoft a Windows jsou registrované ochranné známky společnosti Microsoft Corporation, IBM PC je registrovaná ochranná známka společnosti Inter- national Business Machines Corporation. V práci jsou kromě výše uvedených použity i další názvy softwarových produktů, firem, apod., které mohou být ochrannými známkami nebo re- gistrovanými ochrannými známkami příslušných vlastníků. v Abstrakt / Abstract Práce se zabývá vývojem podpůrné The thesis deals with the development aplikace pro letištní letové informační of software intended to support and sig- služby (AFIS), jejíž cílem je významně nificantly improve the service provided napomoci poskytování této služby. Jsou by the Aerodrome Flight Information zde stručně popsány pojmy a pravi- Service (AFIS). First, air traffic rules, dla letového provozu. Zmiňují se zde acronyms and abbreviations are briefly existující softwarová řešení, která jsou mentioned, and existing software so- však odlišná od navržené aplikace. Dále lutions, which are different from the se zaobírá popisem vlastního návrhu proposed application, are described. řešení. K realizaci byl použit framework Then it gives a complete description Qt, zejména jeho knihovna Qt Quick of the proposed solution. The software pro tvorbu grafických uživatelských was implemented using the Qt frame- rozhraní pomocí deklarativního jazyka work, especially its module Qt Quick, QML.
    [Show full text]
  • Nokia for Developers
    Nokia for developers Alexey Kokin Developer Relations [email protected] Agenda Nokia Platforms and changes due to MSFT deal – WP7 – Symbian – Meego – S40 Qt update Ovi Store update 2 Strategy shift in brief S40 Symbian MeeGo S40 Symbian MeeGo WP7 3 News: Nokia Chooses Windows Phone Platform Nokia announces Windows Phone as long term smartphone strategy utilizing Microsoft tools and development platform Nokia with Windows Phone Visual XNA Silverlight Internet Studio (for game Explorer 2010 dev) Takeaway : Microsoft and Nokia partner to create the third smartphone ecosystem 4 News: Symbian Continues to Evolve Largest Global Reach • Multiple Symbian releases planned • Including user experience Modern phones: enhancements 225 Million • Qt & Qt Quick and Java are the application platforms for Symbian • There are 75 million touch screen Qt phones worldwide today • Nokia plans to ship 150 million new Symbian phones with Qt • Fresh new product designs with 150 Million multiple form factors new Symbian Phones with Qt Takeaway: Symbian and Nokia gives developers the opportunity to ship enormous volume with global reach today Symbian A Renewed User Experience – Symbian Anna New themes and icons Living Home screen with Ovi single sign on Sleek fresh look for Ovi Maps, including new social media features See your message conversation, webpage, maps, contacts or email while writing Portrait QWERTY keypad Faster browser 6 News: Nokia ships MeeGo device this year • Our strategy around MeeGo changed last Friday • Our MeeGo device contains a series
    [Show full text]
  • 18T00464 JACOME Q Y MACAS C
    ESCUELA SUPERIOR POLITÉCNICA DE CHIMBORAZO FACULTAD DE INFORMÁTICA Y ELECTRÓNICA ESCUELA DE INGENIERÍA EN SISTEMAS “ANÁLISIS COMPARATIVO DE BIBLIOTECAS MULTIPLATAFORMA PARA EL DESARROLLO DE APLICACIONES DE ESCRITORIO, APLICADO A LA ESCUELA DE DISEÑO GRÁFICO” TESIS DE GRADO Previa la obtención del título de: INGENIERA EN SISTEMAS INFORMÁTICOS Presentado por: MAYRA ALEXANDRA MACAS CARRASCO ANA ELIZABETH JÁCOME QUINTANILLA RIOBAMBA – ECUADOR 2011 AGRADECIMIENTO Agradezco a Dios, por concederme la vida y mantenerme con salud, pero sobre todo por estar siempre junto a mi bendiciéndome; a mis padres ya que siempre me apoyaron incondicionales inculcándome que se debe ser honesto, trabajador y perseverante; a mis hermanas por su motivación y apoyo, y a mis amigos porque cada uno de ellos en un determinado tiempo me brindaron su mano para ayudarme. Mayra Macas Carrasco A Dios por otorgarme el regalo de la vida y estar siempre junto a mí, a mi familia por su amor incondicional, sus consejos, enseñanzas para salir adelante, a mis amigas porque junto a ellas aprendí muchas cosas y a mis profesores por su colaboración para culminar este trabajo. Ana Jácome Quintanilla DEDICATORIA A Dios por estar junto a mí iluminándome siempre, a mis padres y hermanas que son fundamentales en mi vida, a mis amigos por brindarme siempre su apoyo incondicional y a los profesores por ser una guía en el proceso de formación profesional de los estudiantes. Mayra Macas Carrasco El presente trabajo está dedicado a mis padres, hermanas y hermanos que son uno de los pilares fundamentales en mi vida, a mis amigas por concederme su apoyo incondicional y a mis profesores por ser mi guía durante esta etapa de aprendizaje.
    [Show full text]
  • Qt Licensing Explained What Are Your Options and What Should You Consider?
    Qt Licensing Explained What are your options and what should you consider? May 2020 Team › Thilak Ramanna Territory Sales Director › Somnath Dey Regional Sales Manager Agenda Qt Commercial License Qt Open Source License Open Source vs. Commercial Qt Product Licensing 3 14 May 2020 © The Qt Company Qt dual licensing model Commercial Qt Qt for Device Creation • Target all devices, including embedded Open Source Qt • Additional distribution License for each device • Under GPLv3 and LGPLv3 – Limitations and obligations Qt for Application Development • Free of charge • Feature wise same as OSS Qt • Target desktop and mobile out of box • Embedded targets need DIY work Other commercial Qt products • UI designer offering (Qt Design Studio, Qt 3D Studio) • Qt for MCU • Qt Safe Renderer • Add-ons – Qt M2M Protocols, Qt Automotive Suite • Professional Services 4 14 May 2020 Qt Commercial License 5 14 May 2020 © The Qt Company Accelerate and Protect your Investment No need to comply with (L)GPL restrictions • Build Closed/locked down devices • Software patents, DRM or other technical reasons • Contamination Freedom to modify and compile source codes • Static linking • Make libraries compact (Memory efficiency) • Build competitive advantage without sharing changes Keep Qt usage confidential • LGPL usage of Qt needs to be public knowledge Commercial only offerings and value-added functionality available 6 14 May 2020 © The Qt Company Patents and IPR Intellectual property is Past: Products of the factory increasingly important Future: Products of the mind Patents protect inventions; Copyrights will only protect the way software is written copyrights protect expression Patents are the only way to secure software inventions Software patents will protect the R&D investments put down in a product A commercial license for Qt will not interfere with your IPR and patents 7 14 May 2020 © The Qt Company Locked Devices Locking down devices (a.k.a.
    [Show full text]
  • Writing Standalone Qt & Python Applications for Android
    Writing standalone Qt & Python applications for Android Martin Kolman Red Hat & Faculty of Informatics, Masaryk University http://www.modrana.org/om2013 [email protected] 1 Overview Writing Android applications with Python and Qt How it works The pydroid project Examples Acknowledgement 2 Writing Android applications with Python and Qt Lets put it all together ! So that: applications can be written entirely in Python Qt/QML can be used for the GUI the result is a standalone Google Play compatible APK package deployment is as easy as possible all binary components can be recompiled at will 3 Writing Android applications with Python and Qt Writing Android applications with Python and Qt Python has been available for Android for ages the Qt graphics library has been available for Android since early 2011 there have been some proof of concepts of Qt-Python bindings working on Android and even some proof of concepts of distributing Python + Qt applications 4 How it works How “normal” Android applications look like written in the Android Java running on the Dalvik VM can have a native backend written in C/C++ using the Android NDK application packages are distributed as files with the .apk extension there is no support for cross-package dependencies 5 How it works Necessitas - Qt for Android provides Qt libraries compiled for Android 2.2+ most of Qt functionality is supported, including OpenGL acceleration and Qt Quick handles automatic library downloads & updates through the Ministro service 6 How it works Python
    [Show full text]
  • Qt Quick – Overview and Basic GUI SERIOUS ABOUT SOFTWARE Timo Strömmer, Jan 3, 2011 1 Contents
    Qt Quick – Overview and basic GUI SERIOUS ABOUT SOFTWARE Timo Strömmer, Jan 3, 2011 1 Contents • Quick start • Environment installation, • Hello world • Qt Quick overview • Qt Quick components • QML language overview • Qt modules overview • Programming with QML • Basic concepts and GUI elements Creating a hello world project with QtCreator QUICK START 3 Installation • Qt SDK mess • http://qt.nokia.com/downloads/downloads • Latest Qt meant for desktop • http://www.forum.nokia.com/Develop/Qt/ • Meant for mobile devices (but not desktop) • Only ”preliminary support for Qt 4.7” • Will be merged into one product in the future 4 Installation • Install Qt 4.7 from Ubuntu repositories • Needed, for running in desktop • sudo apt-get install build-essential libqt4-dev qt4-qmlviewer • Download and install the forum Nokia version of Nokia Qt SDK • Run qtcreator • ~/NokiaQtSDK/QtCreator/bin/qtcreator 5 Installation • Select Help / About plugins from menu • Enable QmlDesigner and re-start qtcreator 6 Installation • Check Tools / Options that Qt libraries exist • Rebuild debug helper for C++ development 7 Quick start • Select File / New File or Project 8 Quick start 9 Quick start 10 Quick start 11 Quick start • Run the program with Ctrl+R 12 Excercise • Try it out, create and run a QML application project • Add some other text entries • Optional: Add an image 13 Overview QT QUICK 14 What is Qt Quick • QML – a language for UI design and development • Qt declarative – Module for integrating QML and Qt C++ libraries • Qt Creator tools – Complete development
    [Show full text]
  • Meego for Everyone Creating Meego Products and Why We All Love It
    MeeGo For Everyone Creating MeeGo products and why we all love it Pasi Nieminen CEO [email protected] +358 40 737 3907 www.nomovok.com 1 Nomovok ± In a Nutshell ● Products build on Open Source tech ● Gateway to MeeGo companies #1 MeeGo ARM integrator 400 experts in Nomovok©s ZCOCO.net community for best in ● Pioneer in Embedded Open Source the world Linux expertize to join Pioneer in commercial utilization of Open and support MeeGo product Source in embedded devices. Since 2001, creation. Easily to join the process more than 400 OSS deployment project through Nomovok (one contract ± delivered many suppliers model) ● Employs 140 Nomovok OSS experts ● Locations Focusing on integration, app development, Currently serving businesses in optimizations, and complete US, Japan, Germany, Finland, device creation. Taiwan and Korea. ● Complete MeeGo product deployments 2 MeeGo ± In a Nutshell ● 100% open software platform ● Initiated by Intel & Nokia, but equally open for all NOMOVOK deeply involved on architectural level ● Based on Linux and other mature OSS technologies ● For products from mobile phones to connected TVs and automotive systems ● New breakthrough technologies: QML, native build process 3 Nomovok and MeeGo ± Common history and future ● Nomovok has been working on MeeGo technologies for many years, and has working on overall MeeGo build and integration process last 2 years ● Currently Nomovok creating multiple different MeeGo devices ● Nomovok©s role is to be integrator and main developer, customer creating devices by having just one partner interface. ● Nomovok can take care of all OSS community communication if so needed. 4 ARM + MeeGo Current Status ● Currently Nomovok has complete MeeGo 1.1.
    [Show full text]
  • Graphical Interfaces in Qt
    graphical interfaces in Qt Eric Lecolinet - Télécom ParisTech www.telecom-parist.fr/~elc 2020 Eric Lecolinet - Télécom ParisTech - Qt et graphique interactif Filière IGR and IGD Master http://www.telecom-paris.fr/~elc/igr/ http://www.telecom-paristech.fr/~elc/ Eric Lecolinet - Télécom ParisTech - Qt et graphique interactif http://www.telecom-paris.fr/~elc/igr 3 Filière IGR (2a + 3a) comporte des informations sur la 3e année et les séjours http://www.telecom-paristech.fr/~elc/igr/ à l'étranger ! Eric Lecolinet - Télécom ParisTech - Qt et graphique interactif 4 IGR201b: Interactive 2D/Mobile/Web development IGR201a: Interactive 3D application development - Basic digital imaging - OpenGL IGR201b - Qt GUI toolkit - Android - Web interface basics http://www.telecom-paristech.fr/~elc/igr201/ Eric Lecolinet - Télécom ParisTech - Qt et graphique interactif 5 Qt ("cute") A versatile environnement including - A powerful cross-platform graphical toolkit (including iOS and Android) - A large set of libraries - Used in various open-source or commercial products Dual-licensed - LGPL licence (free): open-source code, student/academic/hobby projects, etc. - Commercial licence: for companies Eric Lecolinet - Télécom ParisTech - Qt et graphique interactif 6 Qt WebEngine WidgetsThe Qt WebEngine Widgets module provides a web browser engine as well as C++ classes to render and interact with web content. Qt WebKit Widgets The Qt WebKit Widgets module provides a web browser engine as well as C++ classes to render and interact with web content. Qt3DCore Qt3D
    [Show full text]