C++ GUI Programming with Qt 4, Second Edition by Jasmin Blanchette; Mark Summerfield

Total Page:16

File Type:pdf, Size:1020Kb

C++ GUI Programming with Qt 4, Second Edition by Jasmin Blanchette; Mark Summerfield C++ GUI Programming with Qt 4, Second Edition by Jasmin Blanchette; Mark Summerfield Publisher: Prentice Hall Pub Date: February 04, 2008 Print ISBN-10: 0-13-235416-0 Print ISBN-13: 978-0-13-235416-5 eText ISBN-10: 0-13-714397-4 eText ISBN-13: 978-0-13-714397-9 Pages: 752 Table of Contents | Index Overview The Only Official, Best-Practice Guide to Qt 4.3 Programming Using Trolltech's Qt you can build industrial-strength C++ applications that run natively on Windows, Linux/Unix, Mac OS X, and embedded Linux without source code changes. Now, two Trolltech insiders have written a start-to-finish guide to getting outstanding results with the latest version of Qt: Qt 4.3. Packed with realistic examples and in-depth advice, this is the book Trolltech uses to teach Qt to its own new hires. Extensively revised and expanded, it reveals today's best Qt programming patterns for everything from implementing model/view architecture to using Qt 4.3's improved graphics support. You'll find proven solutions for virtually every GUI development task, as well as sophisticated techniques for providing database access, integrating XML, using subclassing, composition, and more. Whether you're new to Qt or upgrading from an older version, this book can help you accomplish everything that Qt 4.3 makes possible. • Completely updated throughout, with significant new coverage of databases, XML, and Qtopia embedded programming • Covers all Qt 4.2/4.3 changes, including Windows Vista support, native CSS support for widget styling, and SVG file generation • Contains separate 2D and 3D chapters, coverage of Qt 4.3's new graphics view classes, and an introduction to QPainter's OpenGL back-end • Includes new chapters on look-and-feel customization and application scripting • Illustrates Qt 4's model/view architecture, plugin support, layout management, event processing, container classes, and much more • Presents advanced techniques covered in no other bookâ€from creating plugins to interfacing with native APIs • Includes a new appendix on Qt Jambi, the new Java version of Qt 1 C++ GUI Programming with Qt 4, Second Edition by Jasmin Blanchette; Mark Summerfield Publisher: Prentice Hall Pub Date: February 04, 2008 Print ISBN-10: 0-13-235416-0 Print ISBN-13: 978-0-13-235416-5 eText ISBN-10: 0-13-714397-4 eText ISBN-13: 978-0-13-714397-9 Pages: 752 Table of Contents | Index Copyright Series Editor's Note Foreword Preface Acknowledgments A Brief History of Qt Part I: Basic Qt Chapter 1. Getting Started Hello Qt Making Connections Laying Out Widgets Using the Reference Documentation Chapter 2. Creating Dialogs Subclassing QDialog Signals and Slots in Depth Rapid Dialog Design Shape-Changing Dialogs Dynamic Dialogs Built-in Widget and Dialog Classes Chapter 3. Creating Main Windows Subclassing QMainWindow Creating Menus and Toolbars Setting Up the Status Bar Implementing the File Menu Using Dialogs Storing Settings Multiple Documents Splash Screens Chapter 4. Implementing Application Functionality The Central Widget Subclassing QTableWidget Loading and Saving Implementing the Edit Menu Implementing the Other Menus Subclassing QTableWidgetItem Chapter 5. Creating Custom Widgets Customizing Qt Widgets Subclassing QWidget Integrating Custom Widgets with Qt Designer Double Buffering Part II: Intermediate Qt Chapter 6. Layout Management Laying Out Widgets on a Form Stacked Layouts Splitters Scrolling Areas Dock Windows and Toolbars Multiple Document Interface Chapter 7. Event Processing Reimplementing Event Handlers Installing Event Filters Staying Responsive during Intensive Processing Chapter 8. 2D Graphics Painting with QPainter Coordinate System Transformations High-Quality Rendering with QImage Item-Based Rendering with Graphics View Printing Chapter 9. Drag and Drop Enabling Drag and Drop Supporting Custom Drag Types Clipboard Handling 2 Chapter 10. Item View Classes Using the Item View Convenience Classes Using Predefined Models Implementing Custom Models Implementing Custom Delegates Chapter 11. Container Classes Sequential Containers Associative Containers Generic Algorithms Strings, Byte Arrays, and Variants Chapter 12. Input/Output Reading and Writing Binary Data Reading and Writing Text Traversing Directories Embedding Resources Inter-Process Communication Chapter 13. Databases Connecting and Querying Viewing Tables Editing Records Using Forms Presenting Data in Tabular Forms Chapter 14. Multithreading Creating Threads Synchronizing Threads Communicating with the Main Thread Using Qt's Classes in Secondary Threads Chapter 15. Networking Writing FTP Clients Writing HTTP Clients Writing TCP Clientâ€Server Applications Sending and Receiving UDP Datagrams Chapter 16. XML Reading XML with QXmlStreamReader Reading XML with DOM Reading XML with SAX Writing XML Chapter 17. Providing Online Help Tooltips, Status Tips, and "What's This?" Help Using a Web Browser to Provide Online Help Using QTextBrowser as a Simple Help Engine Using Qt Assistant for Powerful Online Help Part III: Advanced Qt Chapter 18. Internationalization Working with Unicode Making Applications Translation-Aware Dynamic Language Switching Translating Applications Chapter 19. Look and Feel Customization Using Qt Style Sheets Subclassing QStyle Chapter 20. 3D Graphics Drawing Using OpenGL Combining OpenGL and QPainter Doing Overlays Using Framebuffer Objects Chapter 21. Creating Plugins Extending Qt with Plugins Making Applications Plugin-Aware Writing Application Plugins Chapter 22. Application Scripting Overview of the ECMAScript Language Extending Qt Applications with Scripts Implementing GUI Extensions Using Scripts Automating Tasks through Scripting Chapter 23. Platform-Specific Features Interfacing with Native APIs Using ActiveX on Windows Handling X11 Session Management Chapter 24. Embedded Programming Getting Started with Qt/Embedded Linux Customizing Qt/Embedded Linux Integrating Qt Applications with Qtopia Using Qtopia APIs Part IV: Appendixes Appendix A. Obtaining and Installing Qt A Note on Licensing 3 Installing Qt/Windows Installing Qt/Mac Installing Qt/X11 Appendix B. Building Qt Applications Using qmake Using Third-Party Build Tools Appendix C. Introduction to Qt Jambi Getting Started with Qt Jambi Using Qt Jambi in the Eclipse IDE Integrating C++ Components with Qt Jambi Appendix D. Introduction to C++ for Java and C# Programmers Getting Started with C++ Main Language Differences The Standard C++ Library About the Authors Jasmin Blanchette Mark Summerfield Production Index 4 Copyright In association with Trolltech Press Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The authors and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. The publisher offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales, which may include electronic versions and/or custom covers and content particular to your business, training goals, marketing focus, and branding interests. For more information, please contact: U.S. Corporate and Government Sales (800) 382-3419 [email protected] For sales outside the United States, please contact: International Sales [email protected] Visit us on the Web: www.prenhallprofessional.com Library of Congress Cataloging-in-Publication Data Blanchette, Jasmin. C++ GUI programming with Qt 4 / Jasmin Blanchette, Mark Summerfield.-2nd ed. p. cm. Includes index. ISBN-13: 978-0-13-235416-5 (hardcover : alk. paper) 1. Qt (Electronic resource) 2. Graphical user interfaces (Computer systems) 3. C++ (Computer program language) I. Summerfield, Mark. II. Title. QA76.9.U83B532 2008 005.13'3â€dc22 2008000243 Copyright © 2008 Trolltech ASA All rights reserved. Printed in the United States of America. This publication may only be distributed subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version is available at http://www.opencontent.org/openpub/). Trolltech®, Qt®, Qtopia®, and the Trolltech and Qtopia logos are registered trademarks of Trolltech ASA. ISBN-13: 978-0-13-235416-5 Text printed in the United States on recycled paper at Courier in Westford, Massachusetts. First printing, February 2008 5 Series Editor's Note Dear Reader, As a working programmer, I use Qt every day, and I am really impressed by the organization, design, and power that Qt brings to the C++ programmer. While Qt began life as a cross-platform GUI toolkit, it has expanded to include portable facilities for just about every aspect of day-to-day programming: files, processes, networking, and database access, to name just a few. Because of Qt's broad applicability, you really can write your code once and just recompile it on a different platform in order to have it work out of the box. This is extraordinarily valuable when your customer base requires your product to run on different platforms. Of course, because Qt is also available with an open source license, if you're an open source developer, you too can benefit from everything Qt has to offer. While Qt comes with extensive
Recommended publications
  • KDE 2.0 Development, Which Is Directly Supported
    23 8911 CH18 10/16/00 1:44 PM Page 401 The KDevelop IDE: The CHAPTER Integrated Development Environment for KDE by Ralf Nolden 18 IN THIS CHAPTER • General Issues 402 • Creating KDE 2.0 Applications 409 • Getting Started with the KDE 2.0 API 413 • The Classbrowser and Your Project 416 • The File Viewers—The Windows to Your Project Files 419 • The KDevelop Debugger 421 • KDevelop 2.0—A Preview 425 23 8911 CH18 10/16/00 1:44 PM Page 402 Developer Tools and Support 402 PART IV Although developing applications under UNIX systems can be a lot of fun, until now the pro- grammer was lacking a comfortable environment that takes away the usual standard activities that have to be done over and over in the process of programming. The KDevelop IDE closes this gap and makes it a joy to work within a complete, integrated development environment, combining the use of the GNU standard development tools such as the g++ compiler and the gdb debugger with the advantages of a GUI-based environment that automates all standard actions and allows the developer to concentrate on the work of writing software instead of managing command-line tools. It also offers direct and quick access to source files and docu- mentation. KDevelop primarily aims to provide the best means to rapidly set up and write KDE software; it also supports extended features such as GUI designing and translation in con- junction with other tools available especially for KDE development. The KDevelop IDE itself is published under the GNU Public License (GPL), like KDE, and is therefore publicly avail- able at no cost—including its source code—and it may be used both for free and for commer- cial development.
    [Show full text]
  • Pris for Fremme Av Fri Programvare I Norge 2002
    NUUG og HiOs Pris for fremme av fri programvare i Norge 2002 Sted: Høgskolen i Oslo, Festsalen, Anna Sethnes hus Dato: 7. oktober 2002 Tid: 17:00 Prisen for fremme av fri programvare For første gang i Norge deles det ut en Fri programvare pris for fri programvare, dvs programvare hvor Hva er fri programvare? Fri programvare er brukerne har fullt innsyn og kontroll. Fri programvare laget med fullt innsyn for alle. programvare er mest kjent gjennom operativ- Brukere st˚arfritt til ˚abenytte programvaren systemet Linux som gir en enorm base med som de vil og s˚amye de vil, og de f˚ar tilgang til programvare som er rimelig ˚ata i bruk – og kildekoden, slik at eventuelle feil raskere opp- som lastes ned helt gratis fra Internett. dages og fikses, og forbedringer kan program- Prisen er et stipend p˚a30.000 kroner i meres av brukere selv. Programvaren er oftest stipend fra NUUG pluss diplom og vase fra gratis, og leverandører tjener heller penger gjen- Høgskolen i Oslo. Den g˚ar til prosjekter eller nom brukerstøtte og opplæring. personer i henhold til utvalgskriteriene som Fri programvare er miljøskapende og har ble vedtatt av NUUG-styret 13. mai 2002. b˚adepedagogiske og praktiske fordeler for de Prisen deles ut p˚aet arrangement ved Høg- involverte. Fri programvare gir ofte en inngangs- skolen i Oslo mandag 7. oktober kl.17.00. Ut- billett til “cutting edge”-teknologi, og fører til valgskriteriene lyder: stabile, kvalitetssikrede systemer gjennom en Prisen g˚artil en person eller en “peer review”, det vil si kritisk gjennomsyn gruppe i Norge som har bidratt til av koden av andre programmerere.
    [Show full text]
  • KNIME Big Data Workshop
    KNIME Big Data Workshop Björn Lohrmann KNIME © 2018 KNIME.com AG. All Rights Reserved. Variety, Velocity, Volume • Variety: – Integrating heterogeneous data… – ... and tools • Velocity: – Real time scoring of millions of records/sec – Continuous data streams – Distributed computation • Volume: – From small files... – ...to distributed data repositories – Moving computation to the data © 2018 KNIME.com AG. All Rights Reserved. 2 2 Variety © 2018 KNIME.com AG. All Rights Reserved. 3 The KNIME Analytics Platform: Open for Every Data, Tool, and User Data Scientist Business Analyst KNIME Analytics Platform External Native External Data Data Access, Analysis, and Legacy Connectors Visualization, and Reporting Tools Distributed / Cloud Execution © 2018 KNIME.com AG. All Rights Reserved. 4 Data Integration © 2018 KNIME.com AG. All Rights Reserved. 5 Integrating R and Python © 2018 KNIME.com AG. All Rights Reserved. 6 Modular Integrations © 2018 KNIME.com AG. All Rights Reserved. 7 Other Programming/Scripting Integrations © 2018 KNIME.com AG. All Rights Reserved. 8 Velocity © 2018 KNIME.com AG. All Rights Reserved. 9 Velocity • High Demand Scoring/Prediction: – Scoring using KNIME Server – Scoring with the KNIME Managed Scoring Service • Continuous Data Streams – Streaming in KNIME © 2018 KNIME.com AG. All Rights Reserved. 10 What is High Demand Scoring? • I have a workflow that takes data, applies an algorithm/model and returns a prediction. • I need to deploy that to hundreds or thousands of end users • I need to update the model/workflow periodically © 2018 KNIME.com AG. All Rights Reserved. 11 How to make a scoring workflow • Use JSON Input/Output nodes • Put workflow on KNIME Server -> REST endpoint for scoring © 2018 KNIME.com AG.
    [Show full text]
  • Text Mining Course for KNIME Analytics Platform
    Text Mining Course for KNIME Analytics Platform KNIME AG Copyright © 2018 KNIME AG Table of Contents 1. The Open Analytics Platform 2. The Text Processing Extension 3. Importing Text 4. Enrichment 5. Preprocessing 6. Transformation 7. Classification 8. Visualization 9. Clustering 10. Supplementary Workflows Licensed under a Creative Commons Attribution- ® Copyright © 2018 KNIME AG 2 Noncommercial-Share Alike license 1 https://creativecommons.org/licenses/by-nc-sa/4.0/ Overview KNIME Analytics Platform Licensed under a Creative Commons Attribution- ® Copyright © 2018 KNIME AG 3 Noncommercial-Share Alike license 1 https://creativecommons.org/licenses/by-nc-sa/4.0/ What is KNIME Analytics Platform? • A tool for data analysis, manipulation, visualization, and reporting • Based on the graphical programming paradigm • Provides a diverse array of extensions: • Text Mining • Network Mining • Cheminformatics • Many integrations, such as Java, R, Python, Weka, H2O, etc. Licensed under a Creative Commons Attribution- ® Copyright © 2018 KNIME AG 4 Noncommercial-Share Alike license 2 https://creativecommons.org/licenses/by-nc-sa/4.0/ Visual KNIME Workflows NODES perform tasks on data Not Configured Configured Outputs Inputs Executed Status Error Nodes are combined to create WORKFLOWS Licensed under a Creative Commons Attribution- ® Copyright © 2018 KNIME AG 5 Noncommercial-Share Alike license 3 https://creativecommons.org/licenses/by-nc-sa/4.0/ Data Access • Databases • MySQL, MS SQL Server, PostgreSQL • any JDBC (Oracle, DB2, …) • Files • CSV, txt
    [Show full text]
  • Red Hat Enterprise Linux 6 Developer Guide
    Red Hat Enterprise Linux 6 Developer Guide An introduction to application development tools in Red Hat Enterprise Linux 6 Dave Brolley William Cohen Roland Grunberg Aldy Hernandez Karsten Hopp Jakub Jelinek Developer Guide Jeff Johnston Benjamin Kosnik Aleksander Kurtakov Chris Moller Phil Muldoon Andrew Overholt Charley Wang Kent Sebastian Red Hat Enterprise Linux 6 Developer Guide An introduction to application development tools in Red Hat Enterprise Linux 6 Edition 0 Author Dave Brolley [email protected] Author William Cohen [email protected] Author Roland Grunberg [email protected] Author Aldy Hernandez [email protected] Author Karsten Hopp [email protected] Author Jakub Jelinek [email protected] Author Jeff Johnston [email protected] Author Benjamin Kosnik [email protected] Author Aleksander Kurtakov [email protected] Author Chris Moller [email protected] Author Phil Muldoon [email protected] Author Andrew Overholt [email protected] Author Charley Wang [email protected] Author Kent Sebastian [email protected] Editor Don Domingo [email protected] Editor Jacquelynn East [email protected] Copyright © 2010 Red Hat, Inc. and others. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
    [Show full text]
  • BASIC CODE 2010 Edition by the League of Minnesota Cities Duke Addicks, Special Counsel Rachel Carlson, Staff Attorney
    THE MINNESOTA BASIC CODE 2010 Edition By The League of Minnesota Cities Duke Addicks, Special Counsel Rachel Carlson, Staff Attorney Published by American Legal Publishing Corporation 432 Walnut Street, 12th Floor Cincinnati, Ohio 45202 Tel: (800) 445-5588 Fax: (513) 763-3562 E-Mail: [email protected] Internet: http://www.amlegal.com PREFACE TO THE MINNESOTA BASIC CODE, 2010 EDITION The Minnesota Basic Code This League of Minnesota Cities/American Legal Publishing (LMC/ALP) Minnesota Basic Code (MBC) is an effort to provide a modern and comprehensive code of ordinances for smaller Minnesota cities without the expense of a customized code of ordinances. Its provisions are also useful to all Minnesota cities that wish to have models for the basic city ordinances on the subjects contained in the code. The code reflects current state statutes, case law and rules through January, 2010. The MBC will be supplemented periodically to reflect legislative enactments and new case law and rules. The supplements will consist of new pages which will replace or be in addition to the pages contained in this edition. In addition, the supplements will contain new model ordinances that will be included into the MBC unless the city decides not to incorporate them into their code. Authors and Editors This Minnesota Basic Code is partly based on the Model Ordinance Code for Minnesota Cities, Revised Edition 1980, prepared by Orville C. Peterson, former Executive Director of the League of Minnesota Cities, and the 1989 Model Ordinance Code prepared by Thomas L. Grundhoefer, then Staff Attorney and now General Counsel for the League.
    [Show full text]
  • C/C++ Programming with Qt 5.12.6 and Opencv 4.2.0
    C/C++ programming with Qt 5.12.6 and OpenCV 4.2.0 Preparation of the computer • Download http://download.qt.io/archive/qt/5.12/5.12.6/qt-opensource-windows- x86-5.12.6.exe and http://www.ensta-bretagne.fr/lebars/Share/OpenCV4.2.0.zip (contains OpenCV with extra modules built for Visual Studio 2015, 2017, 2019, MinGW Qt 5.12.6 x86, MinGW 8 x64), run Qt installer and select Qt\Qt 5.12.6\MinGW 7.3.0 32 bit and Qt\Tools\MinGW 7.3.0 32 bit options and extract OpenCV4.2.0.zip in C:\ (check that the extraction did not create an additional parent folder (we need to get only C:\OpenCV4.2.0\ instead of C:\OpenCV4.2.0\OpenCV4.2.0\), right-click and choose Run as administrator if needed). For Linux or macOS, additional/different steps might be necessary depending on the specific versions (and the provided .pro might need to be tweaked), see https://www.ensta-bretagne.fr/lebars/Share/setup_opencv_Ubuntu.pdf ; corresponding OpenCV sources : https://github.com/opencv/opencv/archive/4.2.0.zip and https://github.com/opencv/opencv_contrib/archive/4.2.0.zip ; Qt Linux 64 bit : https://download.qt.io/archive/qt/5.12/5.12.6/qt-opensource-linux-x64-5.12.6.run (for Ubuntu you can try sudo apt install qtcreator qt5-default build-essential but the version will probably not be the same); Qt macOS : https://download.qt.io/archive/qt/5.12/5.12.6/qt-opensource-mac-x64-5.12.6.dmg .
    [Show full text]
  • Python Qt Tutorial Documentation Release 0.0
    Python Qt tutorial Documentation Release 0.0 Thomas P. Robitaille Jun 11, 2018 Contents 1 Installing 3 2 Part 1 - Hello, World! 5 3 Part 2 - Buttons and events 7 4 Part 3 - Laying out widgets 9 5 Part 4 - Dynamically updating widgets 13 i ii Python Qt tutorial Documentation, Release 0.0 This is a short tutorial on using Qt from Python. There are two main versions of Qt in use (Qt4 and Qt5) and several Python libraries to use Qt from Python (PyQt and PySide), but rather than picking one of these, this tutorial makes use of the QtPy package which provides a way to use whatever Python Qt package is available. This is not meant to be a completely exhaustive tutorial but just a place to start if you’ve never done Qt development before, and it will be expanded over time. Contents 1 Python Qt tutorial Documentation, Release 0.0 2 Contents CHAPTER 1 Installing 1.1 conda If you use conda to manage your Python environment (for example as part of Anaconda or Miniconda), you can easily install Qt, PyQt5, and QtPy (a common interface to all Python Qt bindings) using: conda install pyqt qtpy 1.2 pip If you don’t make use of conda, an easy way to install Qt, PyQt5, and QtPy is to do: pip install pyqt5 qtpy 3 Python Qt tutorial Documentation, Release 0.0 4 Chapter 1. Installing CHAPTER 2 Part 1 - Hello, World! To start off, we need to create a QApplication object, which represents the overall application: from qtpy.QtWidgets import QApplication app= QApplication([]) You will always need to ensure that a QApplication object exists, otherwise your Python script will terminate with an error if you try and use any other Qt objects.
    [Show full text]
  • Porting a Window Manager from Xlib to XCB
    Porting a Window Manager from Xlib to XCB Arnaud Fontaine (08090091) 16 May 2008 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version pub- lished by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". Contents List of figures i List of listings ii Introduction 1 1 Backgrounds and Motivations 2 2 X Window System (X11) 6 2.1 Introduction . .6 2.2 History . .6 2.3 X Window Protocol . .7 2.3.1 Introduction . .7 2.3.2 Protocol overview . .8 2.3.3 Identifiers of resources . 10 2.3.4 Atoms . 10 2.3.5 Windows . 12 2.3.6 Pixmaps . 14 2.3.7 Events . 14 2.3.8 Keyboard and pointer . 15 2.3.9 Extensions . 17 2.4 X protocol client libraries . 18 2.4.1 Xlib . 18 2.4.1.1 Introduction . 18 2.4.1.2 Data types and functions . 18 2.4.1.3 Pros . 19 2.4.1.4 Cons . 19 2.4.1.5 Example . 20 2.4.2 XCB . 20 2.4.2.1 Introduction . 20 2.4.2.2 Data types and functions . 21 2.4.2.3 xcb-util library . 22 2.4.2.4 Pros . 22 2.4.2.5 Cons . 23 2.4.2.6 Example . 23 2.4.3 Xlib/XCB round-trip performance comparison .
    [Show full text]
  • Qt5 Cadaques Release 2017-12
    Qt5 Cadaques Release 2017-12 JRyannel,JThelin Januar 26, 2018 at 22:39 CET Inhaltsverzeichnis 1 Meet Qt 5 3 1.1 Preface................................................3 1.2 Qt 5 Introduction...........................................4 1.3 Qt Building Blocks..........................................8 1.4 Qt Project............................................... 10 2 Get Started 11 2.1 Installing Qt 5 SDK......................................... 11 2.2 Hello World............................................. 11 2.3 Application Types.......................................... 13 2.4 Summary............................................... 21 3 Qt Creator IDE 23 3.1 The User Interface.......................................... 23 3.2 Registering your Qt Kit....................................... 24 3.3 Managing Projects.......................................... 24 3.4 Using the Editor........................................... 25 3.5 Locator................................................ 25 3.6 Debugging.............................................. 26 3.7 Shortcuts............................................... 26 4 Quick Starter 27 4.1 QML Syntax............................................. 27 4.2 Basic Elements............................................ 32 4.3 Components............................................. 36 4.4 Simple Transformations....................................... 39 4.5 Positioning Elements......................................... 42 4.6 Layout Items............................................. 46 4.7 Input Elements...........................................
    [Show full text]
  • Pris for Fremme Av Fri Programvare I Norge 2004
    NUUG og HiOs Pris for fremme av fri programvare i Norge 2004 Sted: Høgskolen i Oslo, Festsalen, Anna Sethnes hus Dato: 12. oktober 2004 Tid: 17:00 Prisen for fremme av fri programvare For tredje gang i Norge deles det ut en Fri programvare pris for fri programvare, dvs programvare hvor Hva er fri programvare? Fri programvare er brukerne har fullt innsyn og kontroll. Fri programvare laget med fullt innsyn for alle. programvare er mest kjent gjennom operativ- Brukere st˚arfritt til ˚abenytte programvaren systemet Linux som gir en enorm base med som de vil og s˚amye de vil, og de f˚ar tilgang til programvare som er rimelig ˚ata i bruk – og kildekoden, slik at eventuelle feil raskere opp- som lastes ned helt gratis fra Internett. dages og fikses, og forbedringer kan program- Prisen er et stipend p˚a30.000 kroner i meres av brukere selv. Programvaren er oftest stipend fra NUUG pluss diplom og vase fra gratis, og leverandører tjener heller penger gjen- Høgskolen i Oslo. Den g˚ar til prosjekter eller nom brukerstøtte og opplæring. personer i henhold til utvalgskriteriene som Fri programvare er miljøskapende og har ble vedtatt av NUUG-styret 13. mai 2002. b˚adepedagogiske og praktiske fordeler for de Prisen deles ut p˚aet arrangement ved Høg- involverte. Fri programvare gir ofte en inngangs- skolen i Oslo tirsdag 12. oktober kl.17.00. Ut- billett til “cutting edge”-teknologi, og fører til valgskriteriene lyder: stabile, kvalitetssikrede systemer gjennom en Prisen g˚artil en person eller en fagfellevurdering, det vil si at andre program- gruppe i Norge som har bidratt til merere gir kildekoden kritisk gjennomsyn.
    [Show full text]
  • Lindoo2019 Miami Xojo Presentation
    Back to the Basics, in an Two Effort to Improve Student distinct retention in Intro to schools Programming Classes CS Dr. Ed Lindoo Associate Professor Computer Information Systems (CC&IS) 3 year average CS and CIS Drop/Fail rate • 3 year average • 50+ percent drop/fail rate in intro to programming class Two CIS classes taught by CS • Specifically CC&IS students were failing at a 62% rate! • Big problem! • If they fail this course, they don’t continue in the program • Represents a huge loss of revenue to the school • Intro to programming class taught by CS department • I was asked by our Dean to “Fix it” • Computer Science students and Information Systems students • Performed extensive research on why students fail. (business students) took the class together. • After sifting through all the research, I decided to go back to • Business students don’t have the strong technical skills to the basics, BASIC programing that is. jump into a Java or C++ course • I started thinking back to my days of BASIC and QBASIC • Certainly not as an intro class • Remember BASIC? • But that’s what was happening • Well that wasn’t going to cut it! • Further research found a common theme • Visual Programming Environments • Easier to understand languages. DON’T START WITH C++ • I thought long and hard about it • Re-wrote the entire course, Intro to Programming based on Xojo • Even though I had done a lot of work in VB.net, I felt like that was too heavy for this course • Ahh, but there’s a catch…………………isn’t there always? • Then I remembered back to my days of using Real Basic, so I • Must pass a Java course once they pass this class.
    [Show full text]