SlideShare a Scribd company logo
INTRODUCTION To
Qt
What is Qt?
❏ Cross-platform application development
framework.
❏ Used to create graphical user interfaces.
❏ It can be used with several different
programming languages.
❏ “t” in Qt refers to toolkit which defines Qt
much better. Therefore, it can effectively be
defined as a set of tools.
Qt TOOLS
❏ The main component is a set of libraries, written
natively in C++. These libraries include: the core library
providing the most important stuff, the GUI library
providing the GUI components, the XML library.
❏ Meta Object Compiler(moc) used to handle Qt’s C++
extensions.This extends C++ a little bit, adding nice
features like the signals/slots mechanism
❏ The GUI designer tool and the UIC. Qt Designer is a
graphical tool to create GUIs visually and save them to
XML files, and the UIC is a command-line tool to
translate those XML files to C++ code.
❏ Qt Linguist, tool to internationalize
applications.Qt Linguist is a graphical tool for
translator to edit those XML files and provide
translations.
❏ The qmake tool, used to automate build
process, so you don't have to run MOC, C++
compiler, UIC and other things manually.
❏ The Qt Creator, a graphical IDE to integrate
all the stuff described above into a single
environment.
qmake helps to create .pro file
Creating a Qt project
File and
t New
Select
Files generated
Examples
Similarly a 2D graphic
such as a circle,ellipse
can be built
The code uses QPainter on QMainWindow. Circle
drawing is done during gui decoration process , it is
not drawn as an animation.Drawing empty circle on
QMainWindow involves subclassing of
QMainWindow and overriding
paintEvent(QPaintEvent*) method.
using Coin3D and SoQt
3-D Graphics in Qt
❏ Coin3D is a high level 3D graphics toolkit for
developing cross-platform 3D visualizations.
❏ It uses scene graph data structures to render
3D graphics.
❏ Based on the de facto standard Open
Inventor, Coin3D is a set of libraries for
creating 3D graphics applications.
Coin3D
Few Steps to install
1. Download Coin-3.1.3.tar.gz fom
https://bitbucket.org/Coin3D/coin/downloads.
2. Next unzip the file using the following commands:
o cd /tmp
o gzip -cd Coin-3.1.3.tar.gz | tar xvf -
o mkdir coin-build
3. Run configure from the build directory:cd coin-build
4. ../Coin-3.1.3/configure
5. Build the Coin library:
6. make
7. Install the Coin library:
8. make install
Just install:libsoqt40-dev
SoQt is a library which provides bridge
between Coin3D visualistion and Qt
2D Graphical Interface.
Linking
Add in the pro file:
LIBS += -lCoin3D -lSoQt
Open Inventor
Open Inventor is a “scenegraph“ graphics API:
All visible objects are stored in a scenegraph
Capabilities of Open Inventor
❏ Easy construction of 3D scenes
❏ User interaction
❏ Animation
Scenegraph Anatomy
There are three kinds of nodes:
Group nodes: allow construction of trees
Property nodes: change the color / location /
... of the next object
Shapes: visible objects.
Common node types
❏ Group nodes
SoGroup: SoSeparator..
❏ Property nodes
Transform: SoTransform, SoRotation, ...
Appearance: SoMaterial….
❏ Shape nodes
SoShape SoCone, SoCube,
Scene objects
class name prefix: So (scene object)
❏ derived from SoNode
❏ can be inserted directly into the scenegraph
Example:
root->addChild(new SoSphere)
#
<Inventor/Qt/viewers/SoQtExaminerViewer.h>
#include <Inventor/nodes/SoSeparator.h>
#include <Inventor/nodes/SoCube.h>
int main(int argc, char ** argv)
{
QWidget * mainwin = SoQt::init(argc, argv,
argv[0]);
SoSeparator * root = new SoSeparator;
root->ref();
root->addChild(cube);
SoQtExaminerViewer * eviewer = new
SoQtExaminerViewer(mainwin);
eviewer->setSceneGraph(root);
eviewer->show();
SoQt::show(mainwin);
SoQt::mainLoop();
root->unref();
delete eviewer;
return 0;}
#include <Inventor/Qt/SoQt.h>: The SoQt class takes
care of Qt initialisation.
# include<Inventor/Qt/viewers/SoQtExaminerViewer.h>
It is the general purpose viewer to view the 3D object
generated.
#include <Inventor/nodes/SoSeparator.h>
It is subclass of SoGroup class.
#include <Inventor/nodes/SoCube.h>
This is the node for cube shape. It comes under the
category of shape nodes.
❏ QWidget * mainwin = SoQt::init(argc, argv, argv[0]);
SoQt ::init with a string creates a QApplication and its
main window, and returns its window handle.
❏ SoSeparator * root = new SoSeparator;
root->ref();
The root node of the scene graph is created here.
❏ SoCube *cube = new SoCube;
root->addChild(cube);
A cube is added to the scene as a child to the root node.
❏ SoQtExaminerViewer(mainwin);
eviewer->setSceneGraph(root);
eviewer->show();
The ExaminerViewer class of the viewer is used for
display of objects.
❏ SoQt::show(mainwin);
This pops up the main window.
❏ SoQt::mainLoop();
Cleans up all static data allocated by the SoQt library on
initialization.
Thank You

More Related Content

What's hot

The State of JavaScript
The State of JavaScriptThe State of JavaScript
The State of JavaScript
Domenic Denicola
 
谈谈Javascript设计
谈谈Javascript设计谈谈Javascript设计
谈谈Javascript设计
Alipay
 
Class ‘increment’
Class ‘increment’Class ‘increment’
Class ‘increment’
Syed Zaid Irshad
 
JavaScript: Patterns, Part 1
JavaScript: Patterns, Part  1JavaScript: Patterns, Part  1
JavaScript: Patterns, Part 1Chris Farrell
 
JavaScript - Agora nervoso
JavaScript - Agora nervosoJavaScript - Agora nervoso
JavaScript - Agora nervoso
Luis Vendrame
 
Bind me if you can
Bind me if you canBind me if you can
Bind me if you can
Ovidiu Farauanu
 
Php 7.x 8.0 and hhvm and
Php 7.x 8.0 and hhvm and Php 7.x 8.0 and hhvm and
Php 7.x 8.0 and hhvm and
Pierre Joye
 
Blockchain Coding Dojo - BlockchainHub Graz
Blockchain Coding Dojo - BlockchainHub GrazBlockchain Coding Dojo - BlockchainHub Graz
Blockchain Coding Dojo - BlockchainHub Graz
BlockchainHub Graz
 
Full-Stack JavaScript with Node.js
Full-Stack JavaScript with Node.jsFull-Stack JavaScript with Node.js
Full-Stack JavaScript with Node.jsMichael Lehmann
 
Open GL Programming Training Session I
Open GL Programming Training Session IOpen GL Programming Training Session I
Open GL Programming Training Session I
NEEVEE Technologies
 
On using Haskell DSL - CLaSH, to implement a simple digital stopwatch on FPGA
On using Haskell DSL - CLaSH, to implement a simple digital stopwatch on FPGAOn using Haskell DSL - CLaSH, to implement a simple digital stopwatch on FPGA
On using Haskell DSL - CLaSH, to implement a simple digital stopwatch on FPGA
mjgajda
 
Functions - complex first class citizen
Functions - complex first class citizenFunctions - complex first class citizen
Functions - complex first class citizen
Vytautas Butkus
 
Extending php (7), the basics
Extending php (7), the basicsExtending php (7), the basics
Extending php (7), the basics
Pierre Joye
 
Operator overloading2
Operator overloading2Operator overloading2
Operator overloading2
zindadili
 
Compiler basics: lisp to assembly
Compiler basics: lisp to assemblyCompiler basics: lisp to assembly
Compiler basics: lisp to assembly
Phil Eaton
 
NS2: Binding C++ and OTcl variables
NS2: Binding C++ and OTcl variablesNS2: Binding C++ and OTcl variables
NS2: Binding C++ and OTcl variablesTeerawat Issariyakul
 
Pharo VX
Pharo VXPharo VX
Pharo VX
Dmitry Matveev
 
Robust C++ Task Systems Through Compile-time Checks
Robust C++ Task Systems Through Compile-time ChecksRobust C++ Task Systems Through Compile-time Checks
Robust C++ Task Systems Through Compile-time Checks
Stoyan Nikolov
 

What's hot (20)

The State of JavaScript
The State of JavaScriptThe State of JavaScript
The State of JavaScript
 
Day 1
Day 1Day 1
Day 1
 
谈谈Javascript设计
谈谈Javascript设计谈谈Javascript设计
谈谈Javascript设计
 
Class ‘increment’
Class ‘increment’Class ‘increment’
Class ‘increment’
 
JavaScript: Patterns, Part 1
JavaScript: Patterns, Part  1JavaScript: Patterns, Part  1
JavaScript: Patterns, Part 1
 
JavaScript - Agora nervoso
JavaScript - Agora nervosoJavaScript - Agora nervoso
JavaScript - Agora nervoso
 
P2
P2P2
P2
 
Bind me if you can
Bind me if you canBind me if you can
Bind me if you can
 
Php 7.x 8.0 and hhvm and
Php 7.x 8.0 and hhvm and Php 7.x 8.0 and hhvm and
Php 7.x 8.0 and hhvm and
 
Blockchain Coding Dojo - BlockchainHub Graz
Blockchain Coding Dojo - BlockchainHub GrazBlockchain Coding Dojo - BlockchainHub Graz
Blockchain Coding Dojo - BlockchainHub Graz
 
Full-Stack JavaScript with Node.js
Full-Stack JavaScript with Node.jsFull-Stack JavaScript with Node.js
Full-Stack JavaScript with Node.js
 
Open GL Programming Training Session I
Open GL Programming Training Session IOpen GL Programming Training Session I
Open GL Programming Training Session I
 
On using Haskell DSL - CLaSH, to implement a simple digital stopwatch on FPGA
On using Haskell DSL - CLaSH, to implement a simple digital stopwatch on FPGAOn using Haskell DSL - CLaSH, to implement a simple digital stopwatch on FPGA
On using Haskell DSL - CLaSH, to implement a simple digital stopwatch on FPGA
 
Functions - complex first class citizen
Functions - complex first class citizenFunctions - complex first class citizen
Functions - complex first class citizen
 
Extending php (7), the basics
Extending php (7), the basicsExtending php (7), the basics
Extending php (7), the basics
 
Operator overloading2
Operator overloading2Operator overloading2
Operator overloading2
 
Compiler basics: lisp to assembly
Compiler basics: lisp to assemblyCompiler basics: lisp to assembly
Compiler basics: lisp to assembly
 
NS2: Binding C++ and OTcl variables
NS2: Binding C++ and OTcl variablesNS2: Binding C++ and OTcl variables
NS2: Binding C++ and OTcl variables
 
Pharo VX
Pharo VXPharo VX
Pharo VX
 
Robust C++ Task Systems Through Compile-time Checks
Robust C++ Task Systems Through Compile-time ChecksRobust C++ Task Systems Through Compile-time Checks
Robust C++ Task Systems Through Compile-time Checks
 

Viewers also liked

Berlin Gay Bars
Berlin Gay BarsBerlin Gay Bars
Berlin Gay Bars
Kelly Riker
 
Photography plans
Photography plansPhotography plans
Photography plansBaconfish11
 
Magazine publisher research
Magazine publisher researchMagazine publisher research
Magazine publisher researchBaconfish11
 
Gay Berlin
Gay BerlinGay Berlin
Gay Berlin
Kelly Riker
 
0 d4s 20140323_共有用
0 d4s 20140323_共有用0 d4s 20140323_共有用
0 d4s 20140323_共有用
Takehiko Goshi
 

Viewers also liked (7)

Berlin Gay Bars
Berlin Gay BarsBerlin Gay Bars
Berlin Gay Bars
 
Photography plans
Photography plansPhotography plans
Photography plans
 
Magazine publisher research
Magazine publisher researchMagazine publisher research
Magazine publisher research
 
Style sheet
Style sheetStyle sheet
Style sheet
 
chocolate cake=)
chocolate cake=)chocolate cake=)
chocolate cake=)
 
Gay Berlin
Gay BerlinGay Berlin
Gay Berlin
 
0 d4s 20140323_共有用
0 d4s 20140323_共有用0 d4s 20140323_共有用
0 d4s 20140323_共有用
 

Similar to Untitled presentation(4)

Qt for beginners part 1 overview and key concepts
Qt for beginners part 1   overview and key conceptsQt for beginners part 1   overview and key concepts
Qt for beginners part 1 overview and key concepts
ICS
 
Making your app soar without a container manifest
Making your app soar without a container manifestMaking your app soar without a container manifest
Making your app soar without a container manifest
LibbySchulze
 
Qt for beginners part 4 doing more
Qt for beginners part 4   doing moreQt for beginners part 4   doing more
Qt for beginners part 4 doing more
ICS
 
Network programming with Qt (C++)
Network programming with Qt (C++)Network programming with Qt (C++)
Network programming with Qt (C++)
Manohar Kuse
 
Book
BookBook
Book
luis_lmro
 
Deep Learning Edge
Deep Learning Edge Deep Learning Edge
Deep Learning Edge
Ganesan Narayanasamy
 
Настройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'aНастройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'a
corehard_by
 
[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...
[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...
[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...
Sang Don Kim
 
Developing and Benchmarking Qt applications on Hawkboard with Xgxperf
Developing and Benchmarking Qt applications on Hawkboard with XgxperfDeveloping and Benchmarking Qt applications on Hawkboard with Xgxperf
Developing and Benchmarking Qt applications on Hawkboard with Xgxperf
Prabindh Sundareson
 
Cross Platform Qt
Cross Platform QtCross Platform Qt
Cross Platform Qt
Johan Thelin
 
Hidden Dragons of CGO
Hidden Dragons of CGOHidden Dragons of CGO
Hidden Dragons of CGO
All Things Open
 
The Ring programming language version 1.8 book - Part 77 of 202
The Ring programming language version 1.8 book - Part 77 of 202The Ring programming language version 1.8 book - Part 77 of 202
The Ring programming language version 1.8 book - Part 77 of 202
Mahmoud Samir Fayed
 
Let's make it flow ... one way
Let's make it flow ... one wayLet's make it flow ... one way
Let's make it flow ... one way
Roberto Ciatti
 
The Ring programming language version 1.7 book - Part 75 of 196
The Ring programming language version 1.7 book - Part 75 of 196The Ring programming language version 1.7 book - Part 75 of 196
The Ring programming language version 1.7 book - Part 75 of 196
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 83 of 212
The Ring programming language version 1.10 book - Part 83 of 212The Ring programming language version 1.10 book - Part 83 of 212
The Ring programming language version 1.10 book - Part 83 of 212
Mahmoud Samir Fayed
 
Qt for beginners
Qt for beginnersQt for beginners
Qt for beginners
Sergio Shevchenko
 
Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'
Jen Andre
 
Porting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - WebinarPorting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - Webinar
Janel Heilbrunn
 
Porting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - WebinarPorting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - Webinar
ICS
 

Similar to Untitled presentation(4) (20)

Qt
QtQt
Qt
 
Qt for beginners part 1 overview and key concepts
Qt for beginners part 1   overview and key conceptsQt for beginners part 1   overview and key concepts
Qt for beginners part 1 overview and key concepts
 
Making your app soar without a container manifest
Making your app soar without a container manifestMaking your app soar without a container manifest
Making your app soar without a container manifest
 
Qt for beginners part 4 doing more
Qt for beginners part 4   doing moreQt for beginners part 4   doing more
Qt for beginners part 4 doing more
 
Network programming with Qt (C++)
Network programming with Qt (C++)Network programming with Qt (C++)
Network programming with Qt (C++)
 
Book
BookBook
Book
 
Deep Learning Edge
Deep Learning Edge Deep Learning Edge
Deep Learning Edge
 
Настройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'aНастройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'a
 
[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...
[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...
[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...
 
Developing and Benchmarking Qt applications on Hawkboard with Xgxperf
Developing and Benchmarking Qt applications on Hawkboard with XgxperfDeveloping and Benchmarking Qt applications on Hawkboard with Xgxperf
Developing and Benchmarking Qt applications on Hawkboard with Xgxperf
 
Cross Platform Qt
Cross Platform QtCross Platform Qt
Cross Platform Qt
 
Hidden Dragons of CGO
Hidden Dragons of CGOHidden Dragons of CGO
Hidden Dragons of CGO
 
The Ring programming language version 1.8 book - Part 77 of 202
The Ring programming language version 1.8 book - Part 77 of 202The Ring programming language version 1.8 book - Part 77 of 202
The Ring programming language version 1.8 book - Part 77 of 202
 
Let's make it flow ... one way
Let's make it flow ... one wayLet's make it flow ... one way
Let's make it flow ... one way
 
The Ring programming language version 1.7 book - Part 75 of 196
The Ring programming language version 1.7 book - Part 75 of 196The Ring programming language version 1.7 book - Part 75 of 196
The Ring programming language version 1.7 book - Part 75 of 196
 
The Ring programming language version 1.10 book - Part 83 of 212
The Ring programming language version 1.10 book - Part 83 of 212The Ring programming language version 1.10 book - Part 83 of 212
The Ring programming language version 1.10 book - Part 83 of 212
 
Qt for beginners
Qt for beginnersQt for beginners
Qt for beginners
 
Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'
 
Porting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - WebinarPorting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - Webinar
 
Porting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - WebinarPorting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - Webinar
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 

Untitled presentation(4)

  • 2. What is Qt? ❏ Cross-platform application development framework. ❏ Used to create graphical user interfaces. ❏ It can be used with several different programming languages. ❏ “t” in Qt refers to toolkit which defines Qt much better. Therefore, it can effectively be defined as a set of tools.
  • 3. Qt TOOLS ❏ The main component is a set of libraries, written natively in C++. These libraries include: the core library providing the most important stuff, the GUI library providing the GUI components, the XML library. ❏ Meta Object Compiler(moc) used to handle Qt’s C++ extensions.This extends C++ a little bit, adding nice features like the signals/slots mechanism ❏ The GUI designer tool and the UIC. Qt Designer is a graphical tool to create GUIs visually and save them to XML files, and the UIC is a command-line tool to translate those XML files to C++ code.
  • 4. ❏ Qt Linguist, tool to internationalize applications.Qt Linguist is a graphical tool for translator to edit those XML files and provide translations. ❏ The qmake tool, used to automate build process, so you don't have to run MOC, C++ compiler, UIC and other things manually. ❏ The Qt Creator, a graphical IDE to integrate all the stuff described above into a single environment.
  • 5. qmake helps to create .pro file
  • 6. Creating a Qt project
  • 9.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16. Similarly a 2D graphic such as a circle,ellipse can be built
  • 17. The code uses QPainter on QMainWindow. Circle drawing is done during gui decoration process , it is not drawn as an animation.Drawing empty circle on QMainWindow involves subclassing of QMainWindow and overriding paintEvent(QPaintEvent*) method.
  • 18.
  • 19. using Coin3D and SoQt 3-D Graphics in Qt
  • 20. ❏ Coin3D is a high level 3D graphics toolkit for developing cross-platform 3D visualizations. ❏ It uses scene graph data structures to render 3D graphics. ❏ Based on the de facto standard Open Inventor, Coin3D is a set of libraries for creating 3D graphics applications.
  • 22. 1. Download Coin-3.1.3.tar.gz fom https://bitbucket.org/Coin3D/coin/downloads. 2. Next unzip the file using the following commands: o cd /tmp o gzip -cd Coin-3.1.3.tar.gz | tar xvf - o mkdir coin-build 3. Run configure from the build directory:cd coin-build 4. ../Coin-3.1.3/configure 5. Build the Coin library: 6. make 7. Install the Coin library: 8. make install
  • 23. Just install:libsoqt40-dev SoQt is a library which provides bridge between Coin3D visualistion and Qt 2D Graphical Interface.
  • 24. Linking Add in the pro file: LIBS += -lCoin3D -lSoQt
  • 25. Open Inventor Open Inventor is a “scenegraph“ graphics API: All visible objects are stored in a scenegraph
  • 26. Capabilities of Open Inventor ❏ Easy construction of 3D scenes ❏ User interaction ❏ Animation
  • 27. Scenegraph Anatomy There are three kinds of nodes: Group nodes: allow construction of trees Property nodes: change the color / location / ... of the next object Shapes: visible objects.
  • 28. Common node types ❏ Group nodes SoGroup: SoSeparator.. ❏ Property nodes Transform: SoTransform, SoRotation, ... Appearance: SoMaterial…. ❏ Shape nodes SoShape SoCone, SoCube,
  • 29. Scene objects class name prefix: So (scene object) ❏ derived from SoNode ❏ can be inserted directly into the scenegraph Example: root->addChild(new SoSphere)
  • 30. # <Inventor/Qt/viewers/SoQtExaminerViewer.h> #include <Inventor/nodes/SoSeparator.h> #include <Inventor/nodes/SoCube.h> int main(int argc, char ** argv) { QWidget * mainwin = SoQt::init(argc, argv, argv[0]); SoSeparator * root = new SoSeparator; root->ref();
  • 31. root->addChild(cube); SoQtExaminerViewer * eviewer = new SoQtExaminerViewer(mainwin); eviewer->setSceneGraph(root); eviewer->show(); SoQt::show(mainwin); SoQt::mainLoop(); root->unref(); delete eviewer; return 0;}
  • 32.
  • 33. #include <Inventor/Qt/SoQt.h>: The SoQt class takes care of Qt initialisation. # include<Inventor/Qt/viewers/SoQtExaminerViewer.h> It is the general purpose viewer to view the 3D object generated. #include <Inventor/nodes/SoSeparator.h> It is subclass of SoGroup class. #include <Inventor/nodes/SoCube.h> This is the node for cube shape. It comes under the category of shape nodes.
  • 34. ❏ QWidget * mainwin = SoQt::init(argc, argv, argv[0]); SoQt ::init with a string creates a QApplication and its main window, and returns its window handle. ❏ SoSeparator * root = new SoSeparator; root->ref(); The root node of the scene graph is created here. ❏ SoCube *cube = new SoCube; root->addChild(cube); A cube is added to the scene as a child to the root node.
  • 35. ❏ SoQtExaminerViewer(mainwin); eviewer->setSceneGraph(root); eviewer->show(); The ExaminerViewer class of the viewer is used for display of objects. ❏ SoQt::show(mainwin); This pops up the main window. ❏ SoQt::mainLoop(); Cleans up all static data allocated by the SoQt library on initialization.