{"id":74891,"date":"2017-01-05T13:28:59","date_gmt":"2017-01-05T13:28:59","guid":{"rendered":"http:\/\/www.esri.com\/arcgis-blog\/products\/product\/uncategorized\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0\/"},"modified":"2018-03-26T21:11:27","modified_gmt":"2018-03-26T21:11:27","slug":"integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0","title":{"rendered":"Integrating C++ and QML with ArcGIS Runtime SDK for Qt 100.0"},"author":5331,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[24641,23261],"tags":[23451,24621,24631,28311],"industry":[],"product":[36921,36601],"class_list":["post-74891","blog","type-blog","status-publish","format-standard","hentry","category-defense","category-field-mobility","tag-arcgis-runtime","tag-qml","tag-qt","tag-qt-sdk","product-api-cqt","product-developers"],"acf":{"short_description":"The brand new version of ArcGIS Runtime is finally here, and it comes with a host of really cool new features. For example, 3D scenes, ve...","flexible_content":[{"acf_fc_layout":"content","content":"<p>The brand new version of <a href=\"https:\/\/blogs.esri.com\/esri\/arcgis\/2016\/11\/21\/arcgis-runtime-sdk-100-0-has-arrived\/\" target=\"_blank\">ArcGIS Runtime<\/a> is finally here, and it comes with a host of really cool new features. For example, 3D scenes, vector tiles, and native reading and rendering of raster datasets can all be utilized in your ArcGIS Runtime apps. One cool new feature available specifically with the Qt SDK is the ability to write C++ apps using the <a href=\"http:\/\/doc.qt.io\/qt-5\/qtquick-index.html\" target=\"_blank\">Qt Quick Framework<\/a>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-72479\" style=\"font-size: 16px\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/01\/Screen-Shot-2017-01-05-at-3.36.30-PM-300x181.png\" alt=\"\" width=\"300\" height=\"181\" \/><\/p>\n<p>This means that you can write your back-end logic in C++ and your UI in QML. This is a very popular approach to application development that is recommended by the Qt Company. There are many benefits to this approach, such as separation of business logic and UI, support for nearly every platform, fast and fluid screen animations, support for touch screen devices, and easy scaling between different devices and form factors. Please note that we still support Qt Widgets and will continue to support this framework along with Qt Quick into the future.<\/p>\n<p>To get a better understanding of how this all works, please take a look at this <a href=\"https:\/\/geonet.esri.com\/community\/developers\/native-app-developers\/arcgis-runtime-sdk-for-qt\/blog\/2016\/12\/19\/qt-quick-how-to-write-a-cross-platform-mapping-application-with-a-qml-frontend-and-c-backend\" target=\"_blank\">GeoNet blog<\/a>, where I get into the details of how you can begin using this new paradigm in your ArcGIS Runtime apps.<\/p>\n<p>Please visit the <a href=\"https:\/\/developers.arcgis.com\/qt\/latest\/\" target=\"_blank\">Developer&#8217;s site<\/a> for more information on how to get started with ArcGIS Runtime SDK for Qt.<\/p>\n"}],"authors":[{"ID":5331,"user_firstname":"Lucas","user_lastname":"Danzinger","nickname":"Lucas Danzinger","user_nicename":"ldanzinger","display_name":"Lucas Danzinger","user_email":"LDanzinger@esri.com","user_url":"","user_registered":"2018-03-02 00:17:04","user_description":"Lucas is a Product Engineering Lead, dedicating the majority of his efforts to the Qt Maps SDK and advancing the geometry editing capabilities within the Maps SDKs for Native Apps. Outside of his professional pursuits, he enjoys outdoor activities, traveling, and culinary exploration.","user_avatar":"<img alt='' src='https:\/\/secure.gravatar.com\/avatar\/9941353aad6686462149f10834e13f19b4615b89008d87cd496ba9be49cf55a5?s=96&#038;d=blank&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/9941353aad6686462149f10834e13f19b4615b89008d87cd496ba9be49cf55a5?s=192&#038;d=blank&#038;r=g 2x' class='avatar avatar-96 photo' height='96' width='96' loading='lazy' decoding='async'\/>"}]},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Integrating C++ and QML with ArcGIS Runtime SDK for Qt 100.0<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Integrating C++ and QML with ArcGIS Runtime SDK for Qt 100.0\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2018-03-26T21:11:27+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0\"},\"author\":{\"name\":\"Lucas Danzinger\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/f1ad3977d3b9ad81493142607e7e5883\"},\"headline\":\"Integrating C++ and QML with ArcGIS Runtime SDK for Qt 100.0\",\"datePublished\":\"2017-01-05T13:28:59+00:00\",\"dateModified\":\"2018-03-26T21:11:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0\"},\"wordCount\":10,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"ArcGIS Runtime\",\"QML\",\"Qt\",\"Qt SDK\"],\"articleSection\":[\"Defense and Intelligence\",\"Field Operations\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0\",\"name\":\"Integrating C++ and QML with ArcGIS Runtime SDK for Qt 100.0\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2017-01-05T13:28:59+00:00\",\"dateModified\":\"2018-03-26T21:11:27+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Integrating C++ and QML with ArcGIS Runtime SDK for Qt 100.0\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/f1ad3977d3b9ad81493142607e7e5883\",\"name\":\"Lucas Danzinger\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9941353aad6686462149f10834e13f19b4615b89008d87cd496ba9be49cf55a5?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9941353aad6686462149f10834e13f19b4615b89008d87cd496ba9be49cf55a5?s=96&d=blank&r=g\",\"caption\":\"Lucas Danzinger\"},\"description\":\"Lucas is a Product Engineering Lead, dedicating the majority of his efforts to the Qt Maps SDK and advancing the geometry editing capabilities within the Maps SDKs for Native Apps. Outside of his professional pursuits, he enjoys outdoor activities, traveling, and culinary exploration.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/lucas-danzinger-ab371b37\/\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/ldanzinger\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Integrating C++ and QML with ArcGIS Runtime SDK for Qt 100.0","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0","og_locale":"en_US","og_type":"article","og_title":"Integrating C++ and QML with ArcGIS Runtime SDK for Qt 100.0","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2018-03-26T21:11:27+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0"},"author":{"name":"Lucas Danzinger","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/f1ad3977d3b9ad81493142607e7e5883"},"headline":"Integrating C++ and QML with ArcGIS Runtime SDK for Qt 100.0","datePublished":"2017-01-05T13:28:59+00:00","dateModified":"2018-03-26T21:11:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0"},"wordCount":10,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["ArcGIS Runtime","QML","Qt","Qt SDK"],"articleSection":["Defense and Intelligence","Field Operations"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0","name":"Integrating C++ and QML with ArcGIS Runtime SDK for Qt 100.0","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2017-01-05T13:28:59+00:00","dateModified":"2018-03-26T21:11:27+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/defense\/defense\/integrating-c-and-qml-with-arcgis-runtime-sdk-for-qt-100-0#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Integrating C++ and QML with ArcGIS Runtime SDK for Qt 100.0"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/f1ad3977d3b9ad81493142607e7e5883","name":"Lucas Danzinger","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9941353aad6686462149f10834e13f19b4615b89008d87cd496ba9be49cf55a5?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9941353aad6686462149f10834e13f19b4615b89008d87cd496ba9be49cf55a5?s=96&d=blank&r=g","caption":"Lucas Danzinger"},"description":"Lucas is a Product Engineering Lead, dedicating the majority of his efforts to the Qt Maps SDK and advancing the geometry editing capabilities within the Maps SDKs for Native Apps. Outside of his professional pursuits, he enjoys outdoor activities, traveling, and culinary exploration.","sameAs":["https:\/\/www.linkedin.com\/in\/lucas-danzinger-ab371b37\/"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/ldanzinger"}]}},"text_date":"January 5, 2017","author_name":"Lucas Danzinger","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/ldanzinger","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/Newsroom-Keyart-Wide-1920-x-1080.jpg","primary_product":"ArcGIS Runtime SDK for Qt","tag_data":[{"term_id":23451,"name":"ArcGIS Runtime","slug":"arcgis-runtime","term_group":0,"term_taxonomy_id":23451,"taxonomy":"post_tag","description":"","parent":0,"count":91,"filter":"raw"},{"term_id":24621,"name":"QML","slug":"qml","term_group":0,"term_taxonomy_id":24621,"taxonomy":"post_tag","description":"","parent":0,"count":33,"filter":"raw"},{"term_id":24631,"name":"Qt","slug":"qt","term_group":0,"term_taxonomy_id":24631,"taxonomy":"post_tag","description":"","parent":0,"count":36,"filter":"raw"},{"term_id":28311,"name":"Qt SDK","slug":"qt-sdk","term_group":0,"term_taxonomy_id":28311,"taxonomy":"post_tag","description":"","parent":0,"count":11,"filter":"raw"}],"category_data":[{"term_id":24641,"name":"Defense and Intelligence","slug":"defense","term_group":0,"term_taxonomy_id":24641,"taxonomy":"category","description":"","parent":0,"count":162,"filter":"raw"},{"term_id":23261,"name":"Field Operations","slug":"field-mobility","term_group":0,"term_taxonomy_id":23261,"taxonomy":"category","description":"","parent":0,"count":616,"filter":"raw"}],"product_data":[{"term_id":36921,"name":"ArcGIS Runtime SDK for Qt","slug":"api-cqt","term_group":0,"term_taxonomy_id":36921,"taxonomy":"product","description":"","parent":36601,"count":80,"filter":"raw"},{"term_id":36601,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":36601,"taxonomy":"product","description":"","parent":0,"count":761,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=api-cqt","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/74891","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/5331"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=74891"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/74891\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=74891"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=74891"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=74891"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=74891"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=74891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}