Linux Qt Graphical User Interface (GUI) Development In this session, we will cover Qt GUI development tools including: Qt Creator for remote debug and.

Slides:



Advertisements
Similar presentations
Wir schaffen Wissen – heute für morgen A.C.Mezger, Paul Scherrer Institut, Switzerland caQtDM, an EPICS display manager with Qt Paul Scherrer Institut.
Advertisements

Media Player for the i.MX31 Advanced Embedded Systems Architecture Class Project May 14, 2011 Rafael Castro Ryan Ugland Carlos Cabral.
Lecture 4: Embedded Application Framework Qt Tutorial Cheng-Liang (Paul) Hsieh ECE 424 Embedded Systems Design.
QT GUI Programming CS340 – Software Design © 2009 – Jason Leigh University of Illinois at Chicago.
Introduction to Linux Init Scripts In this session we will cover the Linux initialization process, run levels, how to change the run level and how to initialize.
U-Boot and Linux Kernel Debug using CCSv5
LINUX-WINDOWS INTERACTION. One software allowing interaction between Linux and Windows is WINE. Wine allows Linux users to load Windows programs while.
Hands-on with the Sitara Linux SDK This presentation provides a hands-on overview of the Sitara Linux SDK. It focuses on the software and tools found in.
© by Pearson Education, Inc. All Rights Reserved.
A Guide to Oracle9i1 Creating an Integrated Database Application Chapter 8.
QT Intro. 김기형
LAMAD Symbian Qt install and deploy Installing Qt SDK and deploying Qt applications.
Linux Cryptography overview and How-to’s using OpenSSL
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
An Overview of Qt - asankar1. Agenda About Qt –A brief intro of Qt Qt development tools –Tools used for building Qt application Qt Architecture –The underlying.
INTERNATIONAL SUMMER ACADEMIC COURSE UNIVESITY OF NIS ISAC – Android programming.
Emerging Platform#4: Android Bina Ramamurthy.  Android is an Operating system.  Android is an emerging platform for mobile devices.  Initially developed.
Oct ROOT 2002, CERN, Geneva Qt-Based Implementation of Low Level ROOT Graphical Layer By V.Fine.
2. Introduction to the Visual Studio.NET IDE 2. Introduction to the Visual Studio.NET IDE Ch2 – Deitel’s Book.
Client/Server Architectures
Introduction to The Linaro Toolchain Embedded Processors Training Multicore Software Applications Literature Number: SPRPXXX 1.
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
Android Introduction Platform Overview.
U-Boot Debug using CCSv5 In this session we will cover fundamentals necessary to use CCSv5 and a JTAG to debug a TI SDK-based U-Boot on an EVM platform.
Chapter 1 Introduction to Visual Basic Programming and Applications 1 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Eclipse Overview Introduction to Web Programming Kirkwood Continuing Education Fred McClurg © Copyright 2015, Fred McClurg, All Rights Reserved.
May 10, 2012 Lloyd Moore, President/Owner. Quick Start Video Building Mobility 1.2 SDK Emulator Quirks Installing On A Device Summary Overview.
Cross-platform GUI Frameworks for 3D Apps and Games: Qt vs wxWidgets
Copyright© Jeffrey Jongko, Ateneo de Manila University Android.
Neuros Technology July 22, 2008 Tom Bruno
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
DUE Hello World on the Android Platform.
Extending ArcGIS for Server
FLTK Tutorial.
2. Introduction to the Visual Studio.NET IDE. Chapter Outline Overview of the Visual Studio.NET IDE Overview of the Visual Studio.NET IDE Menu Bar and.
Introduction to the Visual Studio.NET IDE (LAB 1 )
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
Prachi Chitnis.  The CSS feel  SDS – Synoptic Display Studio  ADL Converter  PV table, Probe…
Topics Introduction Scene Graphs
 Installation of Android Development Environment  Creating the App with OpenGL ES API  Running the App on Emulator Android App Development.
Reading Flash. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also choose some.
. The ideas behind Qt and a live demo Qt in Education.
GUIs Basic Concepts. GUI GUI : Graphical User Interface Window/Frame : a window on the screen Controls/Widgets : GUI components.
© 2002 IBM Corporation Transaction Processing Facility TPF Users Group Acapulco May 2004 © 2004 IBM Corporation Pete Nicholls IBM Toronto Lab TPF Toolkit.
Jan Hatje, DESY CSS GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
Mobile Application Development with ANDROID Umang Patel(6537) LDCE.
Lab 9 Department of Computer Science and Information Engineering National Taiwan University Lab9 - Debugging I 2014/11/4/ 28 1.
Intoduction to Andriod studio Environment With a hello world program.
Glink for Java: applet, application and an API for integrating access to Bull, IBM, UNIX and Minitel systems with your Java based e-business applications.
Develop VB in WinCE Maker : Axel Chou. Introduction to WinCE 3.0 One of the Microsoft Embedded System –WinCE 3.0 –Embedded NT 4.0 Customize : Minimize.
Software and Services Group MeeGo SDK by Kerry Intel/SSG/OTC 1 Copyright © 2010 Intel Corporation. All rights reserved *MeeGo is a registered.
RTLAB Kang. Moo jin Using Open Source Tools for AT91SAM7X Cross Development.
1. 2 Qt Toolkit ● C++ toolkit for cross-platform GUI application development – GUI functions (GUI = graphical user interface) – Data access components,
Introduction to Android Programming
Progress Apama Fundamentals
Implementation of Embedded OS
Mobile Application Development with MeeGo™ - Touch Apps & UI Design
Introduction to the Sitara Linux SDK
Computer System Laboratory
Working in the Forms Developer Environment
Computer System Laboratory
QT graphical user interface framework
Mobile Application Development with MeeGo™ - Programming with SDK
Qt Programming.
Chapter 2 – Introduction to the Visual Studio .NET IDE
CHAPTER 1 Introduction Chapter objectives: Understand what Android is
Emerging Platform#3 Android & Programming an App
Go4 GUI and GSI's QtROOT interface
Go4 GUI and GSI's QtROOT interface
Presentation transcript:

Linux Qt Graphical User Interface (GUI) Development In this session, we will cover Qt GUI development tools including: Qt Creator for remote debug and Qt Designer for designing a UI. You will create your own Terminal GUI from scratch, add custom skins, implement a soft keyboard and examine a more complex example. July 2012 LAB:

2

3 Pre-work Check List  Installed and configured VMWare Player v4 or laterconfigured VMWare Player v4 or later  Installed Ubuntu Installed Ubuntu  Installed the latest Sitara Linux SDK and CCSv5latest Sitara Linux SDK and CCSv5  Within the Sitara Linux SDK, ran the setup.sh (to install required host packages)ran the setup.sh  Using a Sitara EVM, followed the QSG to connect ethernet, serial cables, SD card and 5V power  Booted the EVM and noticed the Matrix GUI application launcher on the LCD  Pulled the ipaddr of your EVM and ran remote Matrix using a web browser  Brought the USB to Serial cable you confirmed on your setup (preferable)

4 Agenda Introduction to QT Hands on Sessions –Manual helloworld –Using QT Creator –Making a GUI –Enhancing a GUI –Exploring existing examples and demos Using an SGX accelerated Demo Questions

»Qt is cross-platform application and UI framework. »Qt provides a well defined API that can make development quick and easy. »Webkit »Well accepted open source web browser »Rapidly create real-time web content and services »Use HTML and Java Script integrated in native code »3D Graphics with OpenGL and OpenGL ES »Easily incorporate 3D Graphics in your applications »Get maximum graphics performance »Multithreading support »Network connectivity »Advanced GUI development Qt SDK Qt development tools Qt modular class library GUI WebKit Graphics View OpenGL Multimedia Core XML Scripting Database Network UI Tests Benchmarking Font Engine Cross-platform support Qt Designer Forms Builder qmake Cross-Platform Build Tool Qt Linguist I18N Tools Qt Assistant Help reader Qt Creator Cross-platform IDE Linux/X11 Embedded Linux Windows CE Windows QT Framework 5

6 Sitara SDK and QT QT Embedded is a component of the Sitara SDK –Includes libraries for building and running –Contains demo and example applications –Pulled in to the SDK via the Arago Framework. QT Creator is the GUI build tool –Must be downloaded in installed in your Host Linux development machine. –Requires some set up. –Can be used to rapidly develop GUI applications

7 Sitara Linux Stack Matrix Application Launcher Qt Embedded QWidgetQGLWidget OpenGL ES ARM Benchmarks Power Manager Web Browser System Information Sitara ARM Processor Target Board FBDEV DSS2 McSPI Touch screen Ethernet V4L2 ALSA VISA UART I2CUSBMcBSPMMC/SD 3D Graphics Gstreamer/FFMPEG MPEG4, H.264, MPEG2, AAC, … WifiBlueZ USB ProfilerWLAN GUI

8 Creating Your First GUI – Hello World! Install the Sitara SDK on you Host Ubuntu Ensure that the PATH environment variable contains qmake –source $(SDK_HOME)/linux-devkit/environment_setup

9 “Hello World!” Create a working directory “helloworld” Create a C++ source file “main.cpp” using your favorite editor with the following contents #include int main(int argc, char **argv) { QApplication app(argc, argv); QLabel label("Hello World!"); label.show(); return app.exec(); }

10 Running “Hello World!” Run qmake inside the helloworld directory to create a project file qmake –project Run qmake again to create a Makefile from helloworld.pro qmake Run make to build the application make Application is built and ready in debug/ directory. Copy executable to your filesystem on your target and run.

11 Qt Framework – Application Classes

12 Start Lab 1 here: Hello World Command Line Lab 1: –Get familiarized with where QT components are located in the Sitara SDK –Get familiarized with the gcc build tools in the SDK –Get familiarized with the enviroment-setup script –Create a helloworld GUI –Manually build and run it on the target.

13 QT Creator – Development tools Downloading and setting up:

14 Start Lab 2 here: QT Creator Hello World Lab 2: –QT Creator Setup QT Creator within the Sitara SDK. –Specify a toolchain for cross compiling –Communicate with the target »Copy executables over and run them »Debug them –Easily add a helloworld label, run and execute. If time, investigate how much the QT helloworld uses cpu and memory.

15 QT Creator Help Selecting Help from menu bar brings up the QT Creator Manual There is extensive documentation at Select the version of your QT embedded. Example - Search for Qwidget Class Reference You get a description of the class You get all the classes which inherit Qwidget (Most Widgets) You get all the class members including: properties, public functions, public slots, …..

16 Widgets(1/2) Qt UI framework is based on widgets Widgets respond to UI events (key presses/mouse movements), and update their screen area Each widget has a parent, that affects its behavior, and is embedded into it Most Qt classes are derived from QWidget –Ex, QGLWidget, QPushbutton … QPushButton * myButton = new QPushButton(…); myButton->doSomethingAPI(); Refer to online documentation at – –Tip – Documentation is arranged using class names.

17 QWTPlotCurve QHBoxLayout QComboBox QDoubleSpinBox QPushButtonQlabelQMainWindowQMessageBox QSliderQSlider Widgets

18 Start Lab 3 here: Terminal Project Lab 3: –Creating a GUI using QT Creator Add widgets to the User Interface (ui) Use Layouts to organize the widgets Use Signals and Slots to make the Push Buttons do something

19 Signals & Slots –Signals and slots are used for communication between objects. The signals and slots mechanism is a central feature of Qt and probably the part that differs most from the features provided by other frameworks. Signals –Events occur and cause a signal Widgets contain a list of predefined signals, but you can subclass a widget to add your own signal Example – button press, or Process complete –Slots are the functions which are assigned to handle a signal. Widgets contain a list of predefined slots. You can subclass a widget and add your own slots. Example – we will see a good example of signal and slots during LAB 4. when we debug the soft keyboard widget.

20 Start Lab 4 here: Enhancing the Terminal project Lab 4: –Enhancements Add a webview Make the GUI fullscreen Add a Soft Keyboard Add style sheets If time, debug keyboard.cpp to see how signals and slots work.

21 Running Supplied Demo Applications There are over 300 demo and example applications supplied in the SDK. –They come from the QT SDK and are not supported by T.I. –Wide variety of applications. The same application from QT Demo. –The example application already contain a project file. –Found at $(SDK_HOME)/linux-devkit/arm-arago-linux-gnueabi/usr/bin/qtopia demos examples Use QT Creator to pull in the project and build and run it on the target. To build the supplied Demo application on your host –Run qmake to create a Makefile from project file *.pro qmake –Run make to build the application make –The application is built and ready in debug/ directory. Copy executable to your filesystem on your target and run.

22 Start Lab 5 here: Exploring Existing Demos and Examples Lab 5: –See how many other demo and examples are already in the SDK –Run a SGX accelerated demo –If time, pull in an existing demo and build and run it.

23 Additional Links Recent Field Webex Training sessions –Sitara Linux SDK a.ti.com/extranet/cm/project/tifieldtrng/dspgenext/general/ep_web_exs.shtmlhttps://www- a.ti.com/extranet/cm/project/tifieldtrng/dspgenext/general/ep_web_exs.shtml –vmare image contains all the information needed for that presentation More on the Keyboard Template: – How to add SGX acceleration and much more – Qt Creator setup wiki: – Setuphttp://processors.wiki.ti.com/index.php/Qt_Creator_Embedded_Debugging_ Setup

24 THANK YOU! For more Sitara Boot Camp sessions visit: