[PRAKTISCHE ASPEKTE DER INFORMATIK SS 2014]
|
|
|
- Shanon Booth
- 10 years ago
- Views:
Transcription
1 2014 Institut für Computergraphik, TU Braunschweig Pablo Bauszat [PRAKTISCHE ASPEKTE DER INFORMATIK SS 2014] All elemental steps that will get you started for your new life as a computer science programmer.
2 What is Qt? Week E GUIs with Qt Pros and Cons What does Qt do with my code? Examples Qt Designer,.ui and.moc files Signals and slots MOC and UIC Make, CMake, QMake Week E GUIs with Qt This week we ll talk a little bit about Qt and its capabilities to create nice GUIs. As you might know, Qt comes with a lot of extra feature and is far more than just another GUI library. A slight drawback is that Qt needs to influence your whole build process because it introduces non C++-conform syntax in your code. Before the actual compiler starts parsing, Qt itself parses your files and automatically creates C++ conform code. 2 PADI Praktische Aspekte der Informatik
3 What is Qt? Qt is a cross-platform application and UI framework - Comes with a ton of extras Has its own build system (qmake) Now also packed in a single IDE (Qt Creator) Qt is very complex, but has a great documentation Make use of it! Online (use google) or offline (Qt Assistant) It is good to know that Qt provides everything for your programming needs: Its own build system (qmake), its own IDE (Qt Creator) and its own UI Designer Program (Qt Designer). It is even better to know that you do not have to use them if you don t like to. You can use Cmake and your own favorite IDE/Editor if you prefer. As there are a lot of resources to learn Qt, it may be difficult to pick one good tutorial to get started. For the exercise material, I combined several tutorials that can be useful for you, too: Learn Qt - Qt Getting started - (Für Qt 4) Zetcode Qt4 tutorial PADI Praktische Aspekte der Informatik
4 Qt is But Qt Pros and cons Powerful Big Filled with useful extras Has excellent documentation Extends C++ standard You might not need everything 4 PADI Praktische Aspekte der Informatik
5 Signals and slots Qt So what s different? Classes can communicate with SIGNALS and SLOTS, these can be queried/connected at runtime Code Generators Qt-specific stuff is translated to standard C++ UIC: gui-xml to C++ headers MOC: Qt-enhanced C++ (usually headers) to C++ RCC: Resources into binaries Qt introduces several new concepts to standard C++. Communication inside and between Qt-Classes is achieved with a signal and slot mechanism. For Qt 4 you can find a good introduction here Careful! The new Qt 5 version changed the syntax of signals and slots ( 5 PADI Praktische Aspekte der Informatik
6 Counter.h Counter.cpp class Counter : public QObject { Q_OBJECT // Important!! private: int m_value; public: Counter() { m_value = 0; } int value() const { return m_value; } public slots: // Notice the new C++ keyword void setvalue(int value); signals: // Notice the new C++ keyword // This function is not implemented in this class! void valuechanged(int newvalue); not implem }; void Counter::setValue(int value) { if (value!= m_value) { m_value = value; emit valuechanged(value); } } // Emit a signal 6 PADI Praktische Aspekte der Informatik
7 Image source: 7 PADI Praktische Aspekte der Informatik
8 00_qt Basic Makefile to get started with Qt INCPATH = -I/usr/include/qt4/QtGui -I/usr/include/qt4 LIBPATH = -L/usr/lib/ OPTIONS = -lqtcore -lqtgui CCFLAGS = -Wall -g EXE=qt_app $(EXE): main.o g++ $(LIBPATH) $(OPTIONS) $^ -o $@ main.o: main.cpp g++ $(INCPATH) $(CCFLAGS) -c $< clean: rm -f *.o *~ $(EXE) In order to compile your first Qt application, you just need to include the Qt headers and link to the needed libraries. Notice that the libraries depend on the classes you use (often times you need QtCore, QtGui and QtOpenGL). Also note that the libraries might change between major Qt version (e.g. for Qt 5 you need to also link against QtWidgets). 8 PADI Praktische Aspekte der Informatik
9 00_qt main.cpp #include <QApplication> #include <QWidget> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget window; window.resize(250, 150); window.setwindowtitle("simple example"); window.show(); } return app.exec(); It s important to have a QApplication object. After you set up your application in the main method, you call QApplication::exec() to enter the Qt main loop. 9 PADI Praktische Aspekte der Informatik
10 01_moc Communicate.h class Communicate : public QWidget { Q_OBJECT }; public: Communicate(QWidget *parent = 0); public slots: void OnPlus(); void OnMinus(); private: QLabel *label_number; Please note that no special syntax is used in.cpp file If you are implementing your own Qt Class, e.g. if you derive a class from QWidget and use your own slots/signals, you have to include the Q_Object keyword right after class definition. The official Qt website says: The Q_OBJECT macro must appear in the private section of a class definition that declares its own signals and slots or that uses other services provided by Qt's meta-object system. Then you can use the extra keywords slots, signals and emit. Before you call the C++ compiler, you have to tell the Qt Meta Object Compiler (MOC) to convert your code into standard C++ code. 10 PADI Praktische Aspekte der Informatik
11 Image source: When deriving a class from QObject, you have to run the MOC to get some meta information about the class. MOC parses the header file and create C++ code that lets you query information about the object, i.e., its name, the position and signature of slots. Typically, these files are named or moc_originalname.cpp originalname.moc.cpp originalname.moc.cxx They have to be compiled and linked like any other.cpp file. 11 PADI Praktische Aspekte der Informatik
12 01_moc Makefile $(EXE): main.o moc_communicate.o communicate.o g++ $(LIBPATH) $(OPTIONS) $^ -o main.o: main.cpp g++ $(INCPATH) $(CCFLAGS) -c $< moc_communicate.o: moc_communicate.cpp g++ $(INCPATH) $(CCFLAGS) -c moc_communicate.cpp moc_communicate.cpp: communicate.h moc $(INCPATH) $< -o communicate.o: communicate.cpp g++ $(INCPATH) $(CCFLAGS) -c communicate.cpp clean: rm -f *.o *~ $(EXE) moc_*.cpp This is the modified Makefile, the biggest difference is the invocation of MOC to create the file moc_communicate.cpp. Please note that both moc_communicate.o and communicate.o have to be compiled and linked. 12 PADI Praktische Aspekte der Informatik
13 01_moc generated moc file static const uint qt_meta_data_communicate[] = { //content: 4, // revision 0, // classname 0, 0, // classinfo 2, 14, // methods 0, 0, // properties 0, 0, // enums/sets 0, 0, // constructors 0, // flags 0, // signalcount // slots: signature, parameters, type, tag, flags 13, 12, 12, 12, 0x0a, 22, 12, 12, 12, 0x0a, 0 // eod }; static const char qt_meta_stringdata_communicate[] = { "Communicate\0\0OnPlus()\0OnMinus()\0" }; This is the content of a.moc-file. The file is changed every time you modify and moc the source header or.cpp file and therefore, it is a waste of time to edit the.moc-file by hand. As a hint for moc-files: Simply acknowledge their existence, do not forget to link them but never take any closer look at them 13 PADI Praktische Aspekte der Informatik
14 Qt Designing your GUI Graphical Interface to create your GUI Easy to use Qt Designer Drag-and-drop GUI elements together Save.ui file (xml-based) The first step in processing a Qt application is usually to start the Qt designer and create your own user-interface layout with a few clicks. If you already have experience with GUI layouts it should be quite self-explanatory. If not, use the documentation. Your interface is stored in special Qt files, the.ui files. 14 PADI Praktische Aspekte der Informatik
15 Hand-coded GUI setwindowtitle("communicate"); int WIDTH = 350; int HEIGHT = 190; resize(width, HEIGHT); QPushButton *plus = new QPushButton("+", this); plus->setgeometry(50, 40, 75, 30); QPushButton *minus = new QPushButton("-", this); minus->setgeometry(50, 100, 75, 30); label_number = new QLabel("0", this); label_number->setgeometry(190, 80, 20, 30); You can create the contents and (very simplistic) layouts of a GUI by hand. But don t do it! Be more productive by using an IDE! 15 PADI Praktische Aspekte der Informatik
16 Image source: 16 PADI Praktische Aspekte der Informatik
17 WYSIWYG editor (Qt Designer) Create your GUIs using a graphical editor, the Qt Designer. The designer is already integrated in the Qt Creator and both can be used comfortable from a common IDE. 17 PADI Praktische Aspekte der Informatik
18 Save as.ui (xml-based) <?xml version="1.0" encoding="utf-8"?> <ui version="4.0"> <class>communicateclassname</class> <widget class="qwidget" name="communicateclassname"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>350</width> <height>190</height> </rect> </property> <property name="windowtitle"> <string>communicate</string> </property> <widget class="qpushbutton" name="plus"> <property name="geometry"> <rect> <x>50</x> <y>40</y> <width>75</width> <height>30</height> [ ] This is the content of a.ui-file. Similar to the.moc files, do not manually change the file, but use the Qt Designer for it. 18 PADI Praktische Aspekte der Informatik
19 UIC :.ui to.h Convert your GUI into a proper C++ class uic communicate.ui -o ui_community.h Inherit from the newly created class Use the object names of the. ui file as actual class/function names 19 PADI Praktische Aspekte der Informatik
20 Inherit and call setupui communicate.h #include "ui_communicate.h" [ ] class Communicate : public QWidget, private Ui::CommunicateClassName [ ] communicate.cpp [ ] Ui::CommunicateClassName Communicate::Communicate(QWidget *parent) : QWidget(parent) { setupui(this); // This sets up GUI, always call it first! connect(plus, SIGNAL(clicked()), this, SLOT(OnPlus())); connect(minus, SIGNAL(clicked()), this, SLOT(OnMinus())); [ ] } To use a UI, you derive from the created UI class and then setup the UI using the setupui method passing the instance in the constructor. Make sure, that you always call the method before you use the UI components. Alternatively, you can make your class store a member of the UI-class instead of deriving from it. You still need to setup the member in the constructor. 20 PADI Praktische Aspekte der Informatik
21 Makefile $(EXE): main.o moc_communicate.o communicate.o g++ $(LIBPATH) $(OPTIONS) $^ -o main.o: main.cpp ui_communicate.h g++ $(INCPATH) $(CCFLAGS) -c $< moc_communicate.o: moc_communicate.cpp g++ $(INCPATH) $(CCFLAGS) -c moc_communicate.cpp moc_communicate.cpp: communicate.h ui_communicate.h moc $(INCPATH) $< -o communicate.o: communicate.cpp ui_communicate.h g++ $(INCPATH) $(CCFLAGS) -c communicate.cpp ui_communicate.h: communicate.ui uic $< -o Of course, the UIC call has to be integrated into the Makefile. More infos on the MOC and UIC can be found (and should be read) at: PADI Praktische Aspekte der Informatik
22 Qt Building your application Usual way: qmake (using Qt Creator) Alternative - CMake Keywords QT4_WRAP_UI(), QT4_WRAP_CPP() Avoid Makefiles Not recommended to call MOC and UIC manually 22 PADI Praktische Aspekte der Informatik
23 03_cmake - CMakeLists.txt PROJECT(QtApp) [ ] FIND_PACKAGE(Qt4 REQUIRED) INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR} ${QT_INCLUDE_DIR}/QtCore ${QT_INCLUDE_DIR}/QtGui ${QtApp_SOURCE_DIR} ) LINK_DIRECTORIES(${QT_LINK_DIRECTORIES}) include(${qt_use_file}) [ ] QT4_WRAP_UI(app_UIS_H ${app_uis}) QT4_WRAP_CPP(app_MOC_SRCS ${app_moc_hdrs}) INCLUDE_DIRECTORIES (${CMAKE_CURRENT_BINARY_DIR}) ADD_EXECUTABLE(qt4_app ${app_srcs} ${app_uis_h} ${app_moc_srcs}) TARGET_LINK_LIBRARIES(qt4_app ${QT_LIBRARIES}) 23 PADI Praktische Aspekte der Informatik
24 04_qmake Use qmake from the terminal: 1. qmake -project 2. qmake 3. make 24 PADI Praktische Aspekte der Informatik
25 05_advanced Play around with application Try changing SIGNAL / SLOT connections Modify the *.ui file Try building it with qmake Extend the application See task sheet for some ideas 25 PADI Praktische Aspekte der Informatik
26 Assignment E: GUIs with Qt Task 1: Clone Brush [50 points] First of all, build the example application (05_advanced) and make it run on your machine. Then proceed and add two new features: Extend the program in a way that you do have two images instead of one (so you need to have two instances of DrawingCanvas. Add the functionality that you can select a region in one of the two images (e.g., by clicking CTRL+Left Mouse Button) and then copy pixels from this spot to the other Drawing Canvas. Two Drawing Canvas Instances. The clone brush is used to copy content into the left image. 26 PADI Praktische Aspekte der Informatik
27 Task 2: Color Triangle [50 points] Take a look at the class QtColorTriangle class in the folder (06_qtcolortriangle). You can find more details on the class interface here: html Create a project file in the Qt Creator for the files in the folder and compile the simple demo program. You should see the color triangle window. In the next step, try to build a dynamic library that includes the QtColorTriangle class. Afterwards add the widget to your application and use the color wheel to pick colors other than blue or red. Also see how you can import the color wheel into your Qt Designer environment PADI Praktische Aspekte der Informatik
Surface and Volumetric Data Rendering and Visualisation
Surface and Volumetric Data Rendering and Visualisation THE Qt TOOLKIT Department of Information Engineering Faculty of Engineering University of Brescia Via Branze, 38 25231 Brescia - ITALY 1 What is
Qt in Education. The Qt object model and the signal slot concept
Qt in Education The Qt object model and the signal slot concept. 2010 Nokia Corporation and its Subsidiary(-ies). The enclosed Qt Educational Training Materials are provided under the Creative Commons
Andreas Burghart 6 October 2014 v1.0
Yocto Qt Application Development Andreas Burghart 6 October 2014 Contents 1.0 Introduction... 3 1.1 Qt for Embedded Linux... 3 1.2 Outline... 4 1.3 Assumptions... 5 1.4 Corrections... 5 1.5 Version...
New Qt APIs for Mobile Development. Mobility I Alex Blasche
New Qt APIs for Mobile Development Mobility I Alex Blasche What is Qt Mobility about? Mobile Gap Compatibility Availability QML support Beyond Mobile Mobility API Overview Consumer engagement Data Driven
Cross-platform C++ development using Qt
Cross-platform C++ development using Qt Fall 2005 QT Presentation By Gabe Rudy Overview About Trolltech /QT Qt Features and Benefits Examples and Code Demos and more Code! Questions About Trolltech/QT
The Most Popular UI/Apps Framework For IVI on Linux
The Most Popular UI/Apps Framework For IVI on Linux About me Tasuku Suzuki Qt Engineer Qt, Developer Experience and Marketing, Nokia Have been using Qt since 2002 Joined Trolltech in 2006 Nokia since 2008
BogDan Vatra and Andy Gryc. Qt on Android: Is it right for you?
BogDan Vatra and Andy Gryc Qt on Android: Is it right for you? Coffee and Code sessions Free, three-hour, hands-on session that delves into the internals of Qt on Android. Learn how to: set up the Qt development
Programmers rejoice: QML makes business people understand. Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1
Programmers rejoice: QML makes business people understand Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1 About me My company What I do at work Where I live What is it all about? Agenda
Lazy OpenCV installation and use with Visual Studio
Lazy OpenCV installation and use with Visual Studio Overview This tutorial will walk you through: How to install OpenCV on Windows, both: The pre-built version (useful if you won t be modifying the OpenCV
Crash course to. Qt Quick Game Programming
Crash course to Qt Quick Game Programming About this document This tutorial has been written in cooperation between NOMOVOK and Quit Coding. QUIt Coding is an official member of the Qt Ambassador Program.
Best Practices in Qt Quick/QML. Langston Ball Senior Qt Developer ICS, Inc.
Best Practices in Qt Quick/QML Langston Ball Senior Qt Developer ICS, Inc. Topics Introduction Integrating C++ and QML Anchors Are Your Friend Keyboard and Input Handling Closing Introduction (Delete if
Qt Signals and Slots. Olivier Goffart. October 2013
Qt Signals and Slots Olivier Goffart October 2013 About Me About Me QStyleSheetStyle Itemviews Animation Framework QtScript (porting to JSC and V8) QObject, moc QML Debugger Modularisation... About Me
Brent A. Perdue. July 15, 2009
Title Page Object-Oriented Programming, Writing Classes, and Creating Libraries and Applications Brent A. Perdue ROOT @ TUNL July 15, 2009 B. A. Perdue (TUNL) OOP, Classes, Libraries, Applications July
[PRAKTISCHE ASPEKTE DER INFORMATIK WS 13/14]
2013/14 Institut für Computergraphik, TU Braunschweig Pablo Bauszat [PRAKTISCHE ASPEKTE DER INFORMATIK WS 13/14] All elemental steps that will get you started for your new life as a computer science programmer.
Fireworks 3 Animation and Rollovers
Fireworks 3 Animation and Rollovers What is Fireworks Fireworks is Web graphics program designed by Macromedia. It enables users to create any sort of graphics as well as to import GIF, JPEG, PNG photos
CMSC 427 Computer Graphics Programming Assignment 1: Introduction to OpenGL and C++ Due Date: 11:59 PM, Sept. 15, 2015
CMSC 427 Computer Graphics Programming Assignment 1: Introduction to OpenGL and C++ Due Date: 11:59 PM, Sept. 15, 2015 Project Submission: 1) Delete all intermediate files (run the command make clean)
Beginning Nokia Apps. Development. Qt and HTIVIL5 for Symbian and MeeGo. Ray Rischpater. Apress. Daniel Zucker
Beginning Nokia Apps Development Qt and HTIVIL5 for Symbian and MeeGo Ray Rischpater Daniel Zucker Apress Contents Contents at a Glance... I Foreword About the Authors About the Technical Reviewers Acknowledgments
Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months
Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months Our program is a practical knowledge oriented program aimed at making innovative and attractive applications for mobile
Give a Push to Your Qt Application with Qt Cloud Services and WebSockets
Give a Push to Your Qt Application with Qt Cloud Services and WebSockets About me Lauri Nevala nevalau nevalla nevalla Working in Qt Cloud Services team at The Qt Company Over ten years of experience in
DEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES
DEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES by Çağatay YILDIRIM June, 2008 İZMİR CONTENTS Page PROJECT EXAMINATION RESULT FORM...ii ACKNOWLEDGEMENTS...iii ABSTRACT... iv
Introduction to GUI programming in Python. Alice Invernizzi [email protected]
Introduction to GUI programming in Python Alice Invernizzi [email protected] Index Introduction to GUI programming Overview of Qt Framework for Python How to embed matplotlib/vtk widget inside Qt
Code::Blocks Student Manual
Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of
The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1
The Java Series Java Essentials I What is Java? Basic Language Constructs Slide 1 What is Java? A general purpose Object Oriented programming language. Created by Sun Microsystems. It s a general purpose
QNX SDK for Apps and Media 1.1. Qt Developer's Guide
QNX SDK for Apps and Media 1.1 Qt Developer's Guide 2014 2015, QNX Software Systems Limited, a subsidiary of BlackBerry Limited. All rights reserved. QNX Software Systems Limited 1001 Farrar Road Ottawa,
CSC230 Getting Starting in C. Tyler Bletsch
CSC230 Getting Starting in C Tyler Bletsch What is C? The language of UNIX Procedural language (no classes) Low-level access to memory Easy to map to machine language Not much run-time stuff needed Surprisingly
Building a Python Plugin
Building a Python Plugin QGIS Tutorials and Tips Author Ujaval Gandhi http://google.com/+ujavalgandhi This work is licensed under a Creative Commons Attribution 4.0 International License. Building a Python
Mobile Development with Qt
Mobile Development with Qt Developing for Symbian and Maemo Daniel Molkentin Nokia, Qt Development Frameworks 1 Yours Truly Developer and Promoter for the KDE Project since 2000 Author of The Book of Qt
LAB4 Making Classes and Objects
LAB4 Making Classes and Objects Objective The main objective of this lab is class creation, how its constructer creation, object creation and instantiation of objects. We will use the definition pane to
A Deeper Look at Signals and Slots
A Deeper Look at Signals and Slots what are signals and slots? Scott Collins 2005.12.19 There's a short answer and a long answer. We're going to have the most fun walking through the long answer, but for
Running your first Linux Program
Running your first Linux Program This document describes how edit, compile, link, and run your first linux program using: - Gnome a nice graphical user interface desktop that runs on top of X- Windows
BlackBerry 10. App Development. Learn. A Cascades-Driven Approach. Build cutting-edge BlackBerry 10 apps with Qt, C++, and the Cascades UI Framework
Build cutting-edge BlackBerry 10 apps with Qt, C++, and the Cascades UI Framework Learn BlackBerry 10 App Development A Cascades-Driven Approach Anwar Ludin For your convenience Apress has placed some
Creating Your Teacher Website using WEEBLY.COM
Creating Your Teacher Website using WEEBLY.COM Gilbert, Akiba Maynard Jackson High School Creating Your Teacher Website Using WEEBLY.COM In this tutorial, we will learn how to build a simple FOUR PAGE
#include <Gamer.h> Gamer gamer; void setup() { gamer.begin(); } void loop() {
#include Gamer gamer; void setup() { gamer.begin(); void loop() { Gamer Keywords Inputs Board Pin Out Library Instead of trying to find out which input is plugged into which pin, you can use
Introduction CMake Language Specific cases. CMake Tutorial. How to setup your C/C++ projects? Luis Díaz Más. http://plagatux.es.
How to setup your C/C++ projects? http://plagatux.es November, 2012 Outline Introduction 1 Introduction 2 Concepts Scripting CPack 3 Qt libraries Cross-compiling Introduction System for configuring C/C++
A generic framework for game development
A generic framework for game development Michael Haller FH Hagenberg (MTD) AUSTRIA [email protected] Werner Hartmann FAW, University of Linz AUSTRIA [email protected] Jürgen Zauner FH
Part 1 Foundations of object orientation
OFWJ_C01.QXD 2/3/06 2:14 pm Page 1 Part 1 Foundations of object orientation OFWJ_C01.QXD 2/3/06 2:14 pm Page 2 1 OFWJ_C01.QXD 2/3/06 2:14 pm Page 3 CHAPTER 1 Objects and classes Main concepts discussed
How to develop your own app
How to develop your own app It s important that everything on the hardware side and also on the software side of our Android-to-serial converter should be as simple as possible. We have the advantage that
Network Programming in Qt. TCP/IP Protocol Stack
Network Programming in Qt Prof. Tiago Garcia de Senna Carneiro DECOM UFOP 2007 TCP/IP Protocol Stack Roteador UFOP Roteador UFMG DECOM DEFIS DCC DEMAT Internet 1 Domain Name Server (DNS) A maioria dos
David Boddie. PyCon UK 2007, Birmingham
Creating GUI Applications with PyQt and Qt Designer David Boddie [email protected] PyCon UK 2007, Birmingham Qt, Qtopia and Trolltech are registered trademarks of Trolltech ASA Contents 1. What are
INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011
INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 1 Goals of the Lecture Present an introduction to Objective-C 2.0 Coverage of the language will be INCOMPLETE
Drawing Text with SDL
Drawing Text with SDL Note: This tutorial assumes that you already know how to display a window and draw a sprite with SDL. Setting Up the SDL TrueType Font Library To display text with SDL, you need the
QML and JavaScript for Native App Development
Esri Developer Summit March 8 11, 2016 Palm Springs, CA QML and JavaScript for Native App Development Michael Tims Lucas Danzinger Agenda Native apps. Why? Overview of Qt and QML How to use JavaScript
CHAPTER 26 - SHOPPING CART
CHAPTER 26 - SHOPPING CART ecommerce Hosting With ihoststudio's Shopping Cart Sell your items on the web with the ihoststudio shopping cart. Product catalogs Shopping cart Credit Card Payments Store control
Backing up with Windows 7
Backing up your data should be a high priority; it is far too easy for computer failure to result in the loss of data. All hard drives will eventually fail, and (at the minimum) you should be prepared
Qt on i.mx6. Hands-on Instructions. Copyright 2012 Digia Plc.
s Exercise 1a: UI Design BMI Calculator... 3 Exercise 1b: Signals and Slots BMI Calculator... 5 Exercise 2: Deploying to an i.mx6... 6 Exercise 3: Stop-Clock... 11 Objectives Exercise 1a: UI Design BMI
Randy Hyde s Win32 Assembly Language Tutorials (Featuring HOWL) #4: Radio Buttons
Randy Hyde s Win32 Assembly Language Tutorials Featuring HOWL #4: Radio Buttons In this fourth tutorial of this series, we ll take a look at implementing radio buttons on HOWL forms. Specifically, we ll
Creative Guidelines for Emails
Version 2.1 Contents 1 Introduction... 3 1.1 Document Aim and Target Audience... 3 1.2 WYSIWYG editors... 3 1.3 Outlook Overview... 3 2 Quick Reference... 4 3 CSS and Styling... 5 3.1 Positioning... 5
Discover the framework and make your first steps with it.
Computer assisted medical intervention toolkit Discover the framework and make your first steps with it. Nicolas SAUBAT Vincent LEAL 1/31 Simple plan: 1. General presentation of 2. Case studies: users,
C++ Programming with Qt 3
C++ Programming with Qt 3...3 Developing Applications using Qt Classes...3 Hello Qt! application...3 Classes...3 Code...4 Compiling & Running...4 Quit application (Event handling)...5 Classes...5 Code...5
IOIO for Android Beginners Guide Introduction
IOIO for Android Beginners Guide Introduction This is the beginners guide for the IOIO for Android board and is intended for users that have never written an Android app. The goal of this tutorial is to
caqtdm Tutorial Jim Stevens APS Controls Group October 9, 2014
caqtdm Tutorial Jim Stevens APS Controls Group October 9, 2014 Based on 2004 Medm lecture by Kenneth Evans Jr. 2013 Abridged version by Tim Mooney for SSG class 1 caqtdm Tutorial Introduction Introduction:
Lecture 1 Introduction to Android
These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy
Informatica e Sistemi in Tempo Reale
Informatica e Sistemi in Tempo Reale Introduction to C programming Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 25, 2010 G. Lipari (Scuola Superiore Sant Anna)
Please select one of the topics below.
Thanks for choosing WYSIWYG Web Builder! In this section we will give a short introduction to Web Builder so you can start building your web site in (almost) no time. Please select one of the topics below.
APPLICATIONS OF LINUX-BASED QT-CUDA PARALLEL ARCHITECTURE
APPLICATIONS OF LINUX-BASED QT-CUDA PARALLEL ARCHITECTURE Tuyou Peng 1, Jun Peng 2 1 Electronics and information Technology Department Jiangmen Polytechnic, Jiangmen, Guangdong, China, [email protected]
Continuous Integration
Continuous Integration WITH FITNESSE AND SELENIUM By Brian Kitchener [email protected] Intro Who am I? Overview Continuous Integration The Tools Selenium Overview Fitnesse Overview Data Dependence My
Configuring the JEvents Component
Configuring the JEvents Component The JEvents Control Panel's Configuration button takes you to the JEvents Global Configuration page. Here, you may set a very wide array of values that control the way
ANIMATED HEADER IMAGE WITH IMAGE HEADER SLIDESHOW (FL_HEADER_SLIDE)
ANIMATED HEADER IMAGE WITH IMAGE HEADER SLIDESHOW (FL_HEADER_SLIDE) (STEP BY STEP INSTRUCTIONS FOR REAL BEGINNERS) I am writing this tutorial out of frustration with the general lack of proper instructions
We automatically generate the HTML for this as seen below. Provide the above components for the teaser.txt file.
Creative Specs Gmail Sponsored Promotions Overview The GSP creative asset will be a ZIP folder, containing four components: 1. Teaser text file 2. Teaser logo image 3. HTML file with the fully expanded
Qt/Embedded Whitepaper. Trolltech
Qt/Embedded Whitepaper Trolltech www.trolltech.com Abstract This whitepaper describes the Qt/Embedded C++ toolkit for GUI and application development on embedded devices. It runs on any device supported
LESSON 7: IMPORTING AND VECTORIZING A BITMAP IMAGE
LESSON 7: IMPORTING AND VECTORIZING A BITMAP IMAGE In this lesson we ll learn how to import a bitmap logo, transform it into a vector and perform some editing on the vector to clean it up. The concepts
Scoop Hosted Websites. USER MANUAL PART 4: Advanced Features. Phone: +61 8 9388 8188 Email: [email protected] Website: scoopdigital.com.
Scoop Hosted Websites USER MANUAL PART 4: Advanced Features Phone: +61 8 9388 8188 Email: [email protected] Website: scoopdigital.com.au Index Advanced Features... 3 1 Integrating Third Party Content...
R&W Recipe Designer Recipe Management for SIMATIC WinCC. Version 4.0 SP1 Hotfix 2. Recipe Designer CS
R&W Recipe Designer Recipe Management for SIMATIC WinCC Version 4.0 SP1 Hotfix 2 Recipe Designer CS Important note: The software is made available to the user as it stands. All and any risks regarding
Embedded Software Development with MPS
Embedded Software Development with MPS Markus Voelter independent/itemis The Limitations of C and Modeling Tools Embedded software is usually implemented in C. The language is relatively close to the hardware,
Creating a 2D Game Engine for Android OS. Introduction
Creating a 2D Game Engine for Android OS Introduction This tutorial will lead you through the foundations of creating a 2D animated game for the Android Operating System. The goal here is not to create
Catalog Creator by On-site Custom Software
Catalog Creator by On-site Custom Software Thank you for purchasing or evaluating this software. If you are only evaluating Catalog Creator, the Free Trial you downloaded is fully-functional and all the
Visual Basic Programming. An Introduction
Visual Basic Programming An Introduction Why Visual Basic? Programming for the Windows User Interface is extremely complicated. Other Graphical User Interfaces (GUI) are no better. Visual Basic provides
SelectSurvey.NET Developers Manual
Developers Manual (Last updated: 6/24/2012) SelectSurvey.NET Developers Manual Table of Contents: SelectSurvey.NET Developers Manual... 1 Overview... 2 General Design... 2 Debugging Source Code with Visual
TCP/IP Networking, Part 2: Web-Based Control
TCP/IP Networking, Part 2: Web-Based Control Microchip TCP/IP Stack HTTP2 Module 2007 Microchip Technology Incorporated. All Rights Reserved. Building Embedded Web Applications Slide 1 Welcome to the next
Application Note. Building a Website Using Dreamweaver without Programming. Nan Xia. MSU ECE 480 Team 5
Application Note Building a Website Using Dreamweaver without Programming Nan Xia MSU ECE 480 Team 5 11/16/2012 Table of Contents Abstract... 3 Introduction and Background... 3 Keywords... 3 Procedure...
Piktochart 101 Create your first infographic in 15 minutes
Piktochart 101 Create your first infographic in 15 minutes TABLE OF CONTENTS 01 Getting Started 5 Steps to Creating Your First Infographic in 15 Minutes 1.1 Pick a Template 1.2 Click Create and Start Adding
IBM BPM V8.5 Standard Consistent Document Managment
IBM Software An IBM Proof of Technology IBM BPM V8.5 Standard Consistent Document Managment Lab Exercises Version 1.0 Author: Sebastian Carbajales An IBM Proof of Technology Catalog Number Copyright IBM
OpenCV on Android Platforms
OpenCV on Android Platforms Marco Moltisanti Image Processing Lab http://iplab.dmi.unict.it [email protected] http://www.dmi.unict.it/~moltisanti Outline Intro System setup Write and build an Android
Extending your Qt Android application using JNI
Extending your Qt Android alication using JNI Dev Days, 2014 Presented by BogDan Vatra Material based on Qt 5.3, created on November 13, 2014 Extending your alication using JNI Extending your alication
Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition
Java 6 'th edition Concepts INTERNATIONAL STUDENT VERSION CONTENTS PREFACE vii SPECIAL FEATURES xxviii chapter i INTRODUCTION 1 1.1 What Is Programming? 2 J.2 The Anatomy of a Computer 3 1.3 Translating
Computing Concepts with Java Essentials
2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Computing Concepts with Java Essentials 3rd Edition Cay Horstmann
Version Control with. Ben Morgan
Version Control with Ben Morgan Developer Workflow Log what we did: Add foo support Edit Sources Add Files Compile and Test Logbook ======= 1. Initial version Logbook ======= 1. Initial version 2. Remove
HOW TO BUILD AND CUSTOMIZE YOUR FACEBOOK FAN PAGE (ON THE CHEAP)
HOW TO BUILD AND CUSTOMIZE YOUR FACEBOOK FAN PAGE (ON THE CHEAP) Let s connect on Facebook http://facebook.com/smmcamp Page 1 How to Build and Customize Your Facebook Fan Page In this tutorial I m going
Introduction to Tizen SDK 2.0.0 Alpha. Taiho Choi Samsung Electronics
Introduction to Tizen SDK 2.0.0 Alpha Taiho Choi Samsung Electronics Contents Web technologies of Tizen Components of SDK 2.0.0 Alpha Hello world! Debugging apps Summary 1 Web technologies on Tizen Web
Writing standalone Qt & Python applications for Android
Writing standalone Qt & Python applications for Android Martin Kolman Red Hat & Faculty of Informatics, Masaryk University http://www.modrana.org/om2013 [email protected] 1 Overview Writing Android
Xtreeme Search Engine Studio Help. 2007 Xtreeme
Xtreeme Search Engine Studio Help 2007 Xtreeme I Search Engine Studio Help Table of Contents Part I Introduction 2 Part II Requirements 4 Part III Features 7 Part IV Quick Start Tutorials 9 1 Steps to
Introduction to iphone Development
Introduction to iphone Development Introduction to iphone Development Contents Task 1 2 3 4 Application Runtime Core Architecture and Life-cycles What s in a bundle? The resources in an app bundle Customizing
Microsoft Excel 2007 Finding Objects and How To
Microsoft Excel 2007 Finding Objects and How To What s New pg. 2 o Formatting Made Easy o Formulas o Tables o Web o Space and Recovery Finding Your Way Around the Ribbon pg. 3 8 o Office Logo Button o
An Overview of Java. overview-1
An Overview of Java overview-1 Contents What is Java Major Java features Java virtual machine Java programming language Java class libraries (API) GUI Support in Java Networking and Threads in Java overview-2
Learning Remote Control Framework ADD-ON for LabVIEW
Learning Remote Control Framework ADD-ON for LabVIEW TOOLS for SMART MINDS Abstract This document introduces the RCF (Remote Control Framework) ADD-ON for LabVIEW. Purpose of this article and the documents
3. Programming the STM32F4-Discovery
1 3. Programming the STM32F4-Discovery The programming environment including the settings for compiling and programming are described. 3.1. Hardware - The programming interface A program for a microcontroller
GUI application set up using QT designer. Sana Siddique. Team 5
GUI application set up using QT designer Sana Siddique Team 5 Introduction: A very important part of the Team 5 breakout board project is to develop a user friendly Graphical User Interface that is able
Fireworks CS4 Tutorial Part 1: Intro
Fireworks CS4 Tutorial Part 1: Intro This Adobe Fireworks CS4 Tutorial will help you familiarize yourself with this image editing software and help you create a layout for a website. Fireworks CS4 is the
OUTLOOK WEB APP 2013 ESSENTIAL SKILLS
OUTLOOK WEB APP 2013 ESSENTIAL SKILLS CONTENTS Login to engage365 Web site. 2 View the account home page. 2 The Outlook 2013 Window. 3 Interface Features. 3 Creating a new email message. 4 Create an Email
EE8205: Embedded Computer System Electrical and Computer Engineering, Ryerson University. Multitasking ARM-Applications with uvision and RTX
EE8205: Embedded Computer System Electrical and Computer Engineering, Ryerson University Multitasking ARM-Applications with uvision and RTX 1. Objectives The purpose of this lab is to lab is to introduce
Adobe Illustrator CS6. Illustrating Innovative Web Design
Overview In this seminar, you will learn how to create a basic graphic in Illustrator, export that image for web use, and apply it as the background for a section of a web page. You will use both Adobe
