Qt Quick/QML brings designers and developers together to create and collaborate. QML is a collection of technologies that can build modern and fluid interfaces for applications – quickly. Join us for this webinar to explore the best of QML for mobile, embedded and desktop.
Part IV will cover:
- Dynamic Item Creation
- Keyboard Input Handling
Qt Quick/QML brings designers and developers together to create and collaborate. QML is a collection of technologies that can build modern and fluid interfaces for applications – quickly. Join us for this webinar to explore the best of QML for mobile, embedded and desktop.
Part III will cover:
- C++ Backends
- Reusing existing code
- Creating QML Modules
This presentation and we will explore some of the more complex areas of QML and present tips, tricks, best practices and common areas of error and confusion. The material is based on real-world experience developing customer applications for mobile, embedded and desktop.
Part II covers:
- Anchors
- Creating New Items
- States and Transitions
Qt Quick/QML brings designers and developers together to create and collaborate. QML is a collection of technologies that can build modern and fluid interfaces for applications – quickly. Join us as we explore the best of QML for mobile, embedded and desktop.
Part I will cover:
- Building Blocks of QML
- Qt Properties
- Declarative Code
Qt Quick/QML brings designers and developers together to create and collaborate. QML is a collection of technologies that can build modern and fluid interfaces for applications – quickly. Join us for part 1 of our 4 part webinar series where we explore the best of QML for mobile, embedded and desktop.
Part 1 will cover:
Building Blocks of QML
Qt Properties
Declarative Code
Anchors
With QML there is a new, fantastic way of creating a rich UI for desktop, mobile, and embedded apps. We will go over briefly the history of QML and how you can harness this new language to make your apps easier and faster to develop. We will go over the basics of QML, signals & slots, ways to protect the QML code and also talk about how to use QML with your C++ code. With QML in your tool belt, making Qt applications is quicker to develop and maintain.
The model/view design pattern is the standard way of separating UI from business logic, especially when the data exchanged is dynamic. In a series of blog posts released in May, we presented an introduction to model/view design and provided an example of how this pattern is leveraged in Qt applications. In this webinar, we will go more in depth, illustrating model/view with a set of two QML programming examples. The first will consider the simple case where data size remains constant. The second will cover the more common situation where data size is dynamic.
Qt Application Programming with C++ is one of the best Qt QML training and courses in Bangalore India. This workshop is ideal for anyone who want to get started with developing GUI Application using Qt framework. Starting with basics, this workshop covers developing multi-threaded, multimedia and 2D graphics based applications with multiple Do-It-Yourself (DIY) exercises.
Qt Quick/QML brings designers and developers together to create and collaborate. QML is a collection of technologies that can build modern and fluid interfaces for applications – quickly. Join us for this webinar to explore the best of QML for mobile, embedded and desktop.
Part III will cover:
- C++ Backends
- Reusing existing code
- Creating QML Modules
This presentation and we will explore some of the more complex areas of QML and present tips, tricks, best practices and common areas of error and confusion. The material is based on real-world experience developing customer applications for mobile, embedded and desktop.
Part II covers:
- Anchors
- Creating New Items
- States and Transitions
Qt Quick/QML brings designers and developers together to create and collaborate. QML is a collection of technologies that can build modern and fluid interfaces for applications – quickly. Join us as we explore the best of QML for mobile, embedded and desktop.
Part I will cover:
- Building Blocks of QML
- Qt Properties
- Declarative Code
Qt Quick/QML brings designers and developers together to create and collaborate. QML is a collection of technologies that can build modern and fluid interfaces for applications – quickly. Join us for part 1 of our 4 part webinar series where we explore the best of QML for mobile, embedded and desktop.
Part 1 will cover:
Building Blocks of QML
Qt Properties
Declarative Code
Anchors
With QML there is a new, fantastic way of creating a rich UI for desktop, mobile, and embedded apps. We will go over briefly the history of QML and how you can harness this new language to make your apps easier and faster to develop. We will go over the basics of QML, signals & slots, ways to protect the QML code and also talk about how to use QML with your C++ code. With QML in your tool belt, making Qt applications is quicker to develop and maintain.
The model/view design pattern is the standard way of separating UI from business logic, especially when the data exchanged is dynamic. In a series of blog posts released in May, we presented an introduction to model/view design and provided an example of how this pattern is leveraged in Qt applications. In this webinar, we will go more in depth, illustrating model/view with a set of two QML programming examples. The first will consider the simple case where data size remains constant. The second will cover the more common situation where data size is dynamic.
Qt Application Programming with C++ is one of the best Qt QML training and courses in Bangalore India. This workshop is ideal for anyone who want to get started with developing GUI Application using Qt framework. Starting with basics, this workshop covers developing multi-threaded, multimedia and 2D graphics based applications with multiple Do-It-Yourself (DIY) exercises.
Qt Quick/QML brings designers and developers together to create and collaborate. QML is a collection of technologies that can build modern and fluid interfaces for applications – quickly. Join us for part 3 of our 4 part webinar series where we explore the best of QML for mobile, embedded and desktop.
Part 3 will cover:
C++ / QML Integration
Reusing Existing C++ Code
QVariant, QObject — Qt's not just for GUI developmentICS
In part II of our Qt for Beginners Summer Webinar Series we will explore how Qt is so much more than just a GUI toolkit. Through two classes, QObject and QVariant, Qt brings us introspection, makes it easier to manage memory in C++ and makes it easier to decouple classes.
After an overview of Qt and its tools, a Hello World application quickly demonstrates the basic principles.
Qt is mainly famous for its intelligent concepts of signals and slots, which is explained together with examples for how to use widgets (UI controls).
At the end, the foundations of the meta-object system and its implications on memory management are explained.
This module follows up the introduction in the "Software Development with Qt" module, plus the Quickstart slides.
In the final webinar in our summer series we will illustrate how the Model/View/Controller design pattern fits in Qt applications, specifically with the item-view objects. We'll present them, the model classes, and how they both interact. The concept will be demonstrated through a Napster/iTunes-like download manager.
There is ongoing confusion, and some contention, over the right way to use the QThread class. Part of the confusion comes from the uniqueness of QThread, which is significantly different from other threading classes. There are two valid patterns of QThread use, and each pattern is best suited for different use cases. Errors will arise when mixing these two patterns, or applying them inappropriately.
This presentation will look at different patterns of threading in general, and examine in detail the two usage patterns for QThread. This talk will also cover how QThread works inside, how to communicate between threads, provide examples, and point out the pitfalls to avoid.
How to write multi threaded applications using Qt:
In the slides you'll learn about 3 alternatives, all of which allow running tasks simultaneously in Qt applications, and understand the use cases leading to choosing each.
Design Patterns help us solve problems in tried and tested ways.
Turns out they also help us understand our framework better, for framework developers also use patterns.
In these slides you'll see how Design Patterns are implemented by Qt framework, to better both understand patterns and Qt
Introduction to the Qt State Machine Framework using Qt 6ICS
The Qt State Machine Framework provides a practical mechanism to implement a GUI application as a state chart. Using Qt 6, this webinar will:
-Provide an intro to the framework
-Explore its features and its API in both C++ and QML
-Illustrate with an example how it can simplify development where the user interface is written in QML
This webinar is for any developer who wants to implement robust user interfaces.
This workshop is aimed for professionals with Qt programming background who want to become proficient in developing excellent GUI by taking up Qt QML QtQuick courses in Bangalore. This workshop focuses on Qt Quick that separates declarative UI design and programming logic that enables you to develop UI in a super-fast manner. It also covers QML to do rapid prototyping of the UI. Build with ample hands-on sessions, this workshop makes you realize best-in-class UI for your products.
Qt Application Programming with C++ is one of the best Qt QML training and courses in Bangalore India. This workshop is ideal for anyone who want to get started with developing GUI Application using Qt framework. Starting with basics, this workshop covers developing multi-threaded, multimedia and 2D graphics based applications with multiple Do-It-Yourself (DIY) exercises.
In today’s economy, internationalization is increasingly important as our target audience has gone from being a local one to a global one. This webinar will look at what tools Qt provides for this task and cover best practices for C++ and QML, as well as the other steps you need to take to create a properly localized Qt application.
Qt Quick/QML brings designers and developers together to create and collaborate. QML is a collection of technologies that can build modern and fluid interfaces for applications – quickly. Join us for part 3 of our 4 part webinar series where we explore the best of QML for mobile, embedded and desktop.
Part 3 will cover:
C++ / QML Integration
Reusing Existing C++ Code
QVariant, QObject — Qt's not just for GUI developmentICS
In part II of our Qt for Beginners Summer Webinar Series we will explore how Qt is so much more than just a GUI toolkit. Through two classes, QObject and QVariant, Qt brings us introspection, makes it easier to manage memory in C++ and makes it easier to decouple classes.
After an overview of Qt and its tools, a Hello World application quickly demonstrates the basic principles.
Qt is mainly famous for its intelligent concepts of signals and slots, which is explained together with examples for how to use widgets (UI controls).
At the end, the foundations of the meta-object system and its implications on memory management are explained.
This module follows up the introduction in the "Software Development with Qt" module, plus the Quickstart slides.
In the final webinar in our summer series we will illustrate how the Model/View/Controller design pattern fits in Qt applications, specifically with the item-view objects. We'll present them, the model classes, and how they both interact. The concept will be demonstrated through a Napster/iTunes-like download manager.
There is ongoing confusion, and some contention, over the right way to use the QThread class. Part of the confusion comes from the uniqueness of QThread, which is significantly different from other threading classes. There are two valid patterns of QThread use, and each pattern is best suited for different use cases. Errors will arise when mixing these two patterns, or applying them inappropriately.
This presentation will look at different patterns of threading in general, and examine in detail the two usage patterns for QThread. This talk will also cover how QThread works inside, how to communicate between threads, provide examples, and point out the pitfalls to avoid.
How to write multi threaded applications using Qt:
In the slides you'll learn about 3 alternatives, all of which allow running tasks simultaneously in Qt applications, and understand the use cases leading to choosing each.
Design Patterns help us solve problems in tried and tested ways.
Turns out they also help us understand our framework better, for framework developers also use patterns.
In these slides you'll see how Design Patterns are implemented by Qt framework, to better both understand patterns and Qt
Introduction to the Qt State Machine Framework using Qt 6ICS
The Qt State Machine Framework provides a practical mechanism to implement a GUI application as a state chart. Using Qt 6, this webinar will:
-Provide an intro to the framework
-Explore its features and its API in both C++ and QML
-Illustrate with an example how it can simplify development where the user interface is written in QML
This webinar is for any developer who wants to implement robust user interfaces.
This workshop is aimed for professionals with Qt programming background who want to become proficient in developing excellent GUI by taking up Qt QML QtQuick courses in Bangalore. This workshop focuses on Qt Quick that separates declarative UI design and programming logic that enables you to develop UI in a super-fast manner. It also covers QML to do rapid prototyping of the UI. Build with ample hands-on sessions, this workshop makes you realize best-in-class UI for your products.
Qt Application Programming with C++ is one of the best Qt QML training and courses in Bangalore India. This workshop is ideal for anyone who want to get started with developing GUI Application using Qt framework. Starting with basics, this workshop covers developing multi-threaded, multimedia and 2D graphics based applications with multiple Do-It-Yourself (DIY) exercises.
In today’s economy, internationalization is increasingly important as our target audience has gone from being a local one to a global one. This webinar will look at what tools Qt provides for this task and cover best practices for C++ and QML, as well as the other steps you need to take to create a properly localized Qt application.
Practical QML - Key Navigation, Dynamic Language and Theme ChangeBurkhard Stubert
This is the presentation "Practical QML" that I gave at the Qt Developer Days 2013 in Berlin and San Francisco.
What topics entail the liveliest discussions when you talk to the makers of in-vehicle infotainment systems, agricultural driver terminals or set-top boxes about building QML GUIs? No, it is not about "fluid" multi-touch UIs with graphical "wow" effects, but about mundane things like key navigation, theming, and internationalisation. I'll address these three problems in my talk.
First, I’ll discuss how to navigate QML GUIs solely with a rotary knob. By turning or pushing the knob, a "cursor" is moved from one QML component or one screen to another.
Then, I'll show how to switch between different languages and between different themes at run-time.
How to test-drive your Qt QML code. Overview on how you do simple testing, UI level testing, synchronous testing, data-driven testing.
These are the slides used on the Tampere MeeGo meetup on March 15, 2011 and text may not be super clear for those who didn't attend the meetup. You can still download the example and examine it.
Everything you want to know about QWidget, but were afraid to ask. QWidget is the base-class for all Qt's user interface objects. This talk will take an in-depth look at how QWidget works internally and how it interacts with the native windowing system.
Presentation by Marius Bugge Monsen held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
Case Study: Using Qt to Develop Advanced GUIs & Advanced Visualization Softwareaccount inactive
DAZ 3D strives to bring 3D art to the masses by delivering the highest quality 3D digital content and software at the most affordable prices. DAZ Studio is a free, feature rich 3D figure design and 3D animation tool that enables anyone to create stunning digital imagery. This is the perfect tool to design unique digital art and animation using virtual people, animals, props, vehicles, accessories, environments and more. In April of 2004, DAZ started the Public Beta release stage of development for DAZ Studio after two years of development. In June 2009, DAZ Studio v3.0 was released both as a free version and a monetized advanced version. This presentation will explain why Qt was originally selected, what benefits have been realized from it’s use in DAZ Studio, and what DAZ 3D’s experience has been in porting there app from Qt3.3 to Qt4.5. Specific topics will include scripting implementation, cross-platform compatibility, UI versatility, upgrade porting issues/experiences, benefits of the 4.5 opensource version, and styling benefits.
Presentation by Tyson Ratliff and Jarom Schow held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
OpenGL is a powerful, low-level graphics toolkit with a steep learning curve that allows access to accelerated GPU hardware. Using OpenGL, developers achieve high fidelity, animated graphics ubiquitous in games, screen productions and scientific software.
Join us for a one-hour webinar and we will give a comprehensive overview of the many aspects of OpenGL development where Qt provides advanced interfaces that let the developer focus on the tasks instead of dealing with repetitive and error-prone, platform dependent issues.
Convert Your Legacy OpenGL Code to Modern OpenGL with QtICS
See the full Video here: http://bit.ly/modern-open-gl-qt
Back by popular demand, we invite you to another informative webinar on OpenGL, a powerful, low-level graphics toolkit allowing access to accelerated GPU and hardware. Learn the many aspects of OpenGL development where Qt provides advanced interfaces to let developers focus on tasks instead of dealing with repetitive and error-prone, platform dependent issues.
This revised version the OpenGL webinar from last summer, will present information on the differences and the upgrade possibilities available for Qt-OpenGL applications converting from Qt 4x to Qt 5. In addition, we will touch upon best practices when converting legacy, fixed pipeline applications to modern OpenGL using Qt5.
Symbio, a leading software foundry, provides software product engineering and R&D co-creation services to the world's technology innovators. With offices in Finland, Sweden, USA and China, Symbio serves such world-leading companies like China Mobile, Google, Nokia, PayPal and ST-Ericsson. www.symbio.com.
Symbio, a leading software foundry, provides software product engineering and R&D co-creation services to the world's technology innovators. With offices in Finland, Sweden, USA and China, Symbio serves such world-leading companies like China Mobile, Google, Nokia, PayPal and ST-Ericsson. www.symbio.com.
An overview of the Qt Model View architecture and practical examples of how to use this architecture for presenting large data sets in your application user interface.
SenchaCon 2016: The Once and Future Grid - Nige WhiteSencha
The Ext JS Grid has been a powerhouse for years, used by thousands of enterprises to deliver robust, data-rich applications to the web. The Ext JS Grid for the Modern Toolkit builds on these years of experience and leverages the full power of HTML5 and CSS3 to provide an extremely flexible and efficient grid for the modern era. In this session, we'll explore some of the key architectural advantages of the Modern Grid. Come and see how you can take advantage of these capabilities to tame mountains of data and give your users the world-class experience they demand.
JavaScript basics
JavaScript event loop
Ajax and promises
DOM interaction
JavaScript object orientation
Web Workers
Useful Microframeworks
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2014.
http://www.ivanomalavolta.com
Robust C++ Task Systems Through Compile-time ChecksStoyan Nikolov
Task-based (aka job systems) engine architectures are becoming the de-facto standard for AAA game engines and software solutions. The talk explains how the task system in the Hummingbird game UI engine was designed to both be convenient and to avoid common programmer pitfalls. Advanced C++ techniques are employed to warn and shield the developer from errors at compile time.
A Deep Dive into Secure Product Development Frameworks.pdfICS
We tackle the question of what is a SPDF for medical device cybersecurity. We look to provide actionable advice that clarifies implementation, and you can apply in your day-to-day tasks.
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
A great deal of attention in medical devices has shifted towards cybersecurity with the ratification of section 524B of the FD&C act. This new law enables the FDA to enforce cybersecurity controls in any medical device that is capable of networked communications or that has software. In this webinar we will recap the process for managing vulnerabilities, identify categories of vulnerabilities and solutions and more.
Practical Advice for FDA’s 510(k) Requirements.pdfICS
Don’t miss this important webinar with partners BG Networks and Trustonic, which serves as a roadmap for medical device manufacturers to navigate the complex landscape of FDA requirements and implement effective cybersecurity measures.
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...ICS
Join us for a detailed look at how ICS used its rapid, low-code development toolkit, Greenhouse by ICS, to help Miller Electric create a new industrial welding product on a short timeline. In this webinar, we’ll cover Miller Electric’s vision for the product and the pressure of their looming deadline. And we’ll explore the facets of Greenhouse, which includes everything needed to quickly build a quality touch device.
CMake is an open-source, cross-platform family of tools designed to build, test and package software. It is intended to be used in conjunction with the native build environment, which differentiates CMake from many cross-platform systems. CMake is widely used because it allows developers to more easily create, tailor and test software by simplifying some of the most challenging aspects of the process, including system introspection and executing complex builds.
While building with CMake can be fun and rewarding, you may encounter a few obstacles along your path that stall your progress. This webinar will teach you how to interpret CMake errors and explore some of the most common configuration issues you may encounter when trying to build a CMake project. We’ll deliver actionable troubleshooting tips to help you overcome, even avoid, these obstacles.
Enhancing Quality and Test in Medical Device Design - Part 2.pdfICS
Join us for the second installment of our webinar series, during which we explore the interesting and controversial aspects of quality and test solutions used in engineering for medical devices.
In this session, we'll weigh the pros, cons, motivations and alternatives for the canonical forms of software tests.
We'll also differentiate Medical Device Verification from other forms of testing to ensure you don't pay twice for the same result. And, we'll discuss how the concept of "reliability" in medical devices has evolved for software, and how "durability" might have more value.
If you’re developing medical devices and are trying to improve the value and efficacy of your quality budget, this session is a can't-miss!
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdfICS
The Internet of Things (IoT) is revolutionizing the way we interact with the world, from smart homes to industrial automation to life-saving medical devices. However, the design and deployment of a fleet of IoT devices is a complex process. In this webinar, we will discuss best practices for designing IoT devices for rapid deployment and how to streamline fleet management at scale.
We will provide insight on when it’s right to build your own custom system versus investing in a fleet management platform as well as look at some of the key features of the platforms available and a live demo of Balena’s solution.
Quality and Test in Medical Device Design - Part 1.pdfICS
In this webinar we will scrutinize quality and test solutions used in engineering for medical devices. With a focus on practical application and balancing the tradeoffs when using mainstream tools, we'll provide you with actionable information to optimize your approach to quality and testing in your medical devices.
Creating Digital Twins Using Rapid Development Techniques.pdfICS
In this webinar, we will walk you through ICS’ well-defined process for quickly creating medical device digital twins, including exploring the benefits of a layered architecture approach and examining appropriate use cases for our rapid development technique.
Secure Your Medical Devices From the Ground Up ICS
The Food and Drug Administration (FDA) has recently released new guidance on cybersecurity for medical devices. This presentation will provide an overview of this guidance and review what is required for 510(k) submissions. We will also discuss the upcoming European Union (EU) cybersecurity regulations and how they compare to the FDA guidance.
This webinar with ICS and partner RTI, the largest software framework company for autonomous systems, will focus on threat modeling and cybersecurity risk assessments in light of the new guidance, and how these activities impact design requirements for medical devices. You will learn common pitfalls and mistakes to avoid when establishing organizational best practices in cybersecurity.
We will also discuss the challenges to securing data in motion for connected medical devices and describe how a data-centric software framework based on open standards, addresses the design requirements for highly reliable, scalable and secure systems.
Attendees will gain an understanding of the current regulatory expectations, best practices for cybersecurity risk assessments, and standards-based solutions for secure data connectivity.
Cybersecurity and Software Updates in Medical Devices.pdfICS
Justin is a Senior Consulting Engineer and Qt Certified Instructor at Integrated Computer Solutions, Inc. (ICS). He has taught Qt and Qt Quick/QML material for both public and on-site courses for many years. He has also written and conducted seminars on Object-Oriented GUI Design techniques. Justin earned his bachelor’s degree in Computer Engineering Technology from Northeastern University.
MDG Panel - Creating Expert Level GUIs for Complex Medical DevicesICS
Graphical User Interfaces are so pervasive and have so many different design intents that it can be hard to see the norms and evolution of norms being applied over the past couple of decades. In medical devices, more than most, tradeoffs between safety, effectiveness and pleasure-to-use, dominate the design efforts.
.
Much focus and debate has been applied to paradigms of “simple yet effective” in GUI design. The most commonly cited ideals in the Apple eco-system and skeuomorphic design concern themselves with the novice user and technology adoption. But not all products are designed for the novice user.
.
For UIs that expose advanced or unstructured feature sets to the user, the normative approach has been to compromise on the simplicity to extend the functionality. But such an approach can be incremental and muddled where a better approach might be cogent redesign.
.
We will explore the evolution of a life-saving lung transplant medical device from Tevosol that implements an expert-level GUI for clinical users. Focus will be on lessons learned and the design principles ultimately chosen.
How to Craft a Winning IOT Device Management SolutionICS
Join Jose Neto, Lead Cloud Architect for ICS, who will help inform your journey to understand IoT device fleet management, how it can benefit your organization and how you can identify the best solution.
Bridging the Gap Between Development and Regulatory TeamsICS
Download for this webinar for medical device professionals hosted by DeviceTalks Tuesday and hear a frank depiction of the collision of regulatory and development practices, and how to focus on remedies in the form of processes, tools, and approaches, that bridge the gap between the two.
IoT Device Fleet Management: Create a Robust Solution with AzureICS
This webinar, presented by ICS’ fleet management and cloud experts, will give you a better understanding of Azure, which allows you to connect, monitor and control your IoT assets. We’ll explore the Visual Studio code environment, integration plugins, modular design with containerization, device provisioning and critical aspects of IoT device security.
Are you a QMake user who has not yet familiarized yourself with CMake? If so, this webinar is for you — it’s aimed at anyone using QMake who wants to learn more about CMake and the pros and cons of each. We will:
Provide an introduction to CMake
Discuss the differences in the two build systems and the benefits of using one over the other
Set up a basic project and review some of the potential issues you may run into when starting your new project in CMake or converting from existing QMake projects
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...ICS
Updating device software has always been a complicated process. Today, widespread use of connected IoT device fleets, along with escalating concern over cybersecurity, has made that process even more complex. Fortunately, there are a number of well-established open source solutions to help you address software update needs. But, with so many options, how do you determine which solution is right for your device?
This webinar will provide the foundation you need to make an informed decision. We’ll examine several different industry approaches, including A/B updates with a dual-redundant scheme, delta updates, container-based updates and combined strategies, as well as the leading technologies that support these approaches. Open source technologies such as Mender, RAUC and libostree-based solutions implement these strategies and provide tools to manage updates of multiple devices.
We’ll also review a variety of open source Linux software update technologies, and offer practical examples for integrating them using the Yocto Project and OpenEmbedded. In order to help you better understand the strengths and weaknesses of each technology, we’ll deep dive into various real-world use cases, including leveraging CAAM (Cryptographic Accelerator and Assurance Module) hardware on Freescale i.MX6 hardware for encrypted and signed updates and using Microsoft Azure IoT to host software updates from the cloud.
This upcoming webinar will explore functions that assist developers in both packaging and deploying their Qt applications on the desktop. We will present the Qt Installer Framework and the Qt Desktop deployment tools as well as ways to customize an installer and tools that keep your Qt application continuously updated online.
We will also expand on the subject with a concrete example and illustrate the ease of use of CPack, presenting common tricks to debug, customize both an offline and online installer, ensure that we provide an adequate uninstaller and write to Windows Registry.
Bridging the Gap Between Development and Regulatory TeamsICS
This webinar provides a frank depiction on the collision of regulatory and development practices, and focuses on remedies in the form of processes, tools and approaches, that bridge the gap between the two.
Overcome Hardware And Software Challenges - Medical Device Case StudyICS
In this webinar presented with leading System-on-Module designer and ICS partner Variscite, we will present a real example of a medical device featuring the DART-MX8M-PLUS, i.MX8 Plus-based System on Module. Walking through this case study will allow us to showcase specific challenges that characterize the medical field as well as common software challenges.
As a webinar attendee, you will:
Gain tools that will help you choose the hardware that best suits your project needs.
Receive useful software tips that will help you get your project off the ground.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
4. Model – View – Delegate Pattern
• Views in QML are Model-View-Delegate
• Model is an interface to data
• View manages item geometries
• Delegate implements item UI
• Drawing graphics
• Editing data
5. Models in QML
• All models are lists in QML
• No tables
• Can be implemented using roles
• No trees
• Can be implemented using QSortFilterProxyModel
6. Model Roles
• Roles are like a “3rd Dimension” to cells
• Can be use to apply extra attributes
• Visible and non-visible
• These roles in basic QML are used to make
complex cells
• Can be used to emulate a table
7. Model Roles
• Consider this ContactsListModel
• One item in the list can be very complex
Name Role
Phone Number Role
Address Role
Image Role
Justin Noel
54 B Middlesex Tpke
Bedford, MA
(617 ) 621 - 0060
9. QML List Model
• ListModel is a list of ListElement Items
• ListElement is a list of Key/Value pairs
• Key names are arbitrary
• Use whatever is convenient
ListView {
model: contactModel
}
ListModel {
id: contactModel
ListElement { name: “Justin Noel”; phoneNumber: “(617) 621-0060” }
ListElement { name: “John Doe”; phoneNumber: “(555) 555-5555” }
}
10. Delegates
• Roles appear as attached properties in a
Delegate
ListView {
model: contactModel
delegate: Rectangle {
Column {
Text { text: name }
Text { text: phoneNumber }
}
}
ListModel {
id: contactModel
ListElement { name: “Justin Noel”; phoneNumber: “(617) 621-0060” }
ListElement { name: “John Doe”; phoneNumber: “(555) 555-5555” }
}
11. QML Specialty Models
• XmlListModel
• Create a model from XML
• Using XPath and XQuery statements
• FolderListModel
• Lists a directory on the disk
• Not a tree
12. QML List Property Model
//ContactList.qml
Item {
property list<Contact> contactModel: undefined
ListView {
model: contactModel
delegate: Rectangle {
Column {
Text { text: name }
Text { text: phoneNumer }
}
}
}
//Main.qml
ContactList {
contactModel: [
Contact{ name: “Justin Noel”; phoneNumber: “(617) 621-0060” },
Contact{ name:” John Doe”; phoneNumber: “(555) 555-5555” }
]
}
13. JSON Model
Item {
property var json: [
{ name:”Justin Noel” phoneNumber:”(617) 621-0060” },
{ name:” John Doe” phoneNumber “(555) 555-5555” }
]
ListView {
model: json
}
14. QList<QObject*> Model
class Alarm : public QObject
{
Q_OBJECT
Q_PROPERTY(Severity severity...)
Q_PROPERTY(QString description...)
[...]
};
QML_DECLARE_METATYPE(Alarm*);
class CoffeeMaker : public QObject
{
Q_OBJECT
Q_PROPERTY(QList<Alarm*> alarms READ alarms NOTIFY alarmsChanged)
public:
QList<Alarm*> alarms() const
{
return m_alarms;
}
};
16. QAbstractItemModel
• Data model interface from Qt Interview
Framework
• Originally designed for QWidgets
• QListView, QTableView, QTreeView
• QAbstractItemModel is a tree interface w/
roles
• Remember: QML Doesn’t support Tables or
Trees
• Makes the interface a little confusing for those not
familiar with the QWidget views
17. QAbstractListModel
• QAbstractListModel is a specialized QAIM
• Implements some of the tree interface
• Makes it easier to implement a list
• Data models should wrap data rather than
store data
• Simple interface
22. Which Model Is Right For Me?
• Use Case! Use Case! Use Case!
• Web Services based app
• Use JSON or XmlListModel
• C++ based app
• Use QAbstractItemModel or QList<QObject*>
• Composite QML items like BarChart
• Consists of N Bar items
• property list<Type>
24. Focus Order
• Tab order works like a linked list
• KeyNavigation is an attached property
• Executed only when this Item has focus
TextInput {
id: firstField
focus: true
KeyNavigation.tab: secondField
}
TextInput {
id: secondField
focus: true
KeyNavigation.backTab: firstField
}
25. KeyNavigation
• Navigation Possibilities
• Tab – Backtab
• Right - Left
• Down - Up
• Qt will automatically reverse a singly linked tab
order
• If you only specify (Tab, Right, Down)
• Qt will automatically do (Backtab, Left, Up)
26. Focus Property
• Only one item in a qml file can have focus =
true
• Many QML files can be composed together
• This results in more than one item with focus = true
• This is actual a good thing as focus will be stored
Item { //Main.qml
OptionsBox {
model: firstOptions
}
OptionsBox {
model: otherOptions
}
}
Item { //OptionsBox.qml
property alias model:
listView.model
ListView {
focus: true
delegate: ...
}
}
27. Active Focus
• Only one item in a QmlEngine will have
activeFocus = true
• When drawing focus effects use activeFocus
• When taking focus call forceActiveFocus()
• Set focus = true
• Sets focus on all FocusScope items in parent
hierarchy
28. FocusScope
• Proxies Focus to a child item
• Can be use directly as a wrapper item
• More often it is the base class for QML files
Item { //Main.qml
OptionsBox {
model: firstOptions
focus: true
}
OptionsBox {
model: otherOptions
}
}
FocusScope{ //OptionsBox.qml
property alias model:
listView.model
ListView {
focus: true
delegate: ...
}
}
29. FocusScope
• When a child of a FocusScope has focus
• The FocusScope will also report focus = true
• FocusScopes can be nested
•
If your application needs keyboard input
• Use FocusScope as the base class for all your
custom items
• ListViews, Loader, etc have FocusScope built in
30. Handling Keyboard Input
• Handling actual key stroke is easy
• Keys is an attached property
• Key specific handlers
• Handlers for all keys
• Like how QWidgets work
31. Key Specific Handlers
Rectangle {
color: “black”
focus: true
Image {
id: rocket
x: 150, y:150
source: “../images/rocket.svg”
transformOrigin: Item.Center
}
Keys.onLeftPressed: rocket.rotation = (rocket.rotation - 10) %360
Keys.onRightPressed: rocket.rotation = (rocket.rotation + 10) %360
//Note there are only a few specific key handler available for use
}
33. Key Event Propagation
• Key Events will propagate
• From child to parent up to the root item
• Propagation can be stopped with
• event.accepted = true
• Key event will stop at the accepted handler
36. Be Asynchronous
• Never spend more than a couple of
milliseconds within blocking functions
• 60Hz drawing leaves 16ms to get work done
• Or frames get dropped!
• User worker threads to do heavy lifting
• QThread or QML WorkerScript
• Never manually spin the event loop
• QCoreApplication::processEvents()
• This was sorta-kinda acceptable for with widgets
37. Optimized Binding Evaluator
• QML Engine has a binding optimizer
• Doesn’t need to invoke the full JS interpreter
• If bindings fit certain criteria
• Help it out by following some guidelines
•
Don’t go overboard enforcing these as rules
• Micro-optimized unreadable code could ensue
• Use the QML Profiler to examine JS performance
38. Binding Optimizer
• Make sure types are known at compile time
• Avoid using var as property type
• Qt Creator will underline this yellow
• Avoid assigning properties to derivative types
• Avoid caching intermediate vars in bindings
• However, this can be beneficial with full JS interpeter
39. Binding Optimizer
• Avoid calling JavaScript functions
• Even though code may be easier to read
• Includes anonymous functions
• value: function() {…}
• Avoid using symbols from JavaScript imports
40. Binding Optimizer
• Only access Properties in “Component”
Scope
• Properties of this item
• Ids of any objects in the containing component
• Properties of the root item of the component
ListView {
id: view
property cellHeight: 50 // Bad. Move to inside delegate
delegate:
Rectangle {
height: view.cellHeight
}
}
}
41. Maximize Binding Optimizer
• Avoid writing to other properties in a property
binding
• This should be obvious.
property int other: 0
value: { other = foo } //Also happens to bind value to foo
• QML_COMPILER_STATS env var
• Print statistics about how many bindings were
able to be optimized / not optimized.
42. C++ Type Conversions
• Avoid variant type QML properties
• Marked as deprecated
• Use var instead
• Assigning list types can be expensive
• Optimizations implemented are made for
• QString, QUrl, int, bool, qreal, pointer types
43. Cache results
• In non-optimized bindings cache results
• Save lookup times.
• Especially on objects not in “Component Scope”
44. Don’t Over Update Propeties
• Don’t a update property more than one in a
binding or signal handler
45. Delegates
• Keep it short. Keep it Simple
• Avoid Loader
• Avoid Shader Effects
• Avoid clip: true
• Increase cacheBuffer property for smoother
scrolling
• At the cost of memory
46. Animations
• Animating properties will cause bindings to
update
• Usually what is wanted
• If not use PropertyAction to “unbind” temporarily
• Or create a second animatedValue property
• See Bar Chart Example
47. Painting
• Avoid Clipping
• Very expensive
• Hide non-visible items (visible = false)
• Off screen items
• Completely obscured items
• QtQuick will call rendering methods for all
visible items
48. Startup Performance
• Load as little QML as possible at startup
• main.qml loads a splash screen
• main.qml uses async loader to show 1st screen
• Connect loader.progress to an indicator
• main.qml hides splash screen when
• loader.status === Loader.Ready
• From here load the screens as the user finds
them
• Using Loader or component.createObject()
49. Runtime Performance
• Use lazy loading to load screens on demand
• Cache screens as they are found
• Or at least common screens
• Caching screens causes two side effects
• Increase in memory footprint
• Processing of bindings for items not on the screen
50. Processing Bindings Off Screen
• Bindings are re-calculated when property
NOTIFY signals are emitted
• On screen or not
• This might not be a bad thing
• If your system is mostly idle
• Might as well update bindings while system is idle
• Rather than fetch all the data and re-calc when switching screens
which might be animated
• Use case dependent. YMMV.
51. Memory Usage
• QML uses quite a bit of memory
• Typical app is around 80MB resident
• Qt internals is making this better
• Delete items made with Component
createObject
• Use destroy()
• Delete uncommon dialogs after the user is
done with them
• Trading memory for screen reload performance
52. Processor Performance
• QtQuick 2 is OpenGL ES 2.0 based
• But some things still need to be run on the main
processor
• Animations @ 60 Hz require about 30% of the
lowend TI AM3358 CPU*
• Code from event handlers can only block for 16ms
max
• Or frames will be dropped
• User will notice if it’s bad enough
53. Fake Animations
• If you just need small animated indicators
• Consider AnimatedImage
• Takes an animated GIF
• QtQuick has some optimizations for AnimatedImage
• 15fps is around 5 percent CPU
• User won’t notice