Advanced Qt Programming: Creating Great Software with C++ and Qt 4

Total Page:16

File Type:pdf, Size:1020Kb

Advanced Qt Programming: Creating Great Software with C++ and Qt 4 Advanced Qt Programming ptg This page intentionally left blank ptg Advanced Qt Programming Creating Great Software with C+ + and Qt 4 Mark Summerfield ptg Upper Saddle River, NJ ·Boston ·Indianapolis ·San Francisco p New York ·Toronto ·Montreal ·London ·Munich ·Paris ·Madrid p Capetown ·Sydney ·Tokyo ·Singapore ·Mexico City 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 author 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: informit.com/aw Library of Congress Cataloging-in-Publication Data Summerfield, Mark. Advanced Qt programming : creating great software with C++ and Qt 4 / Mark Summerfield. p.mcm. Includes bibliographical references and index. ptg ISBN 978-0-321-63590-7 (hardcover : alk. paper) 1. Qt (Electronic resource) 2. Graphical user interfaces (Computer systems) 3. C++ (Computer program language) I. Title. QA76.9.U83S88 2010 005.1’13—dc22 2010019289 Copyright © 2011 Qtrac Ltd. All rights reserved. Printed in the United States of America. This publication is protected by copyright, and permission must be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise. For information regarding permissions, write to: Pearson Education, Inc. Rights and Contracts Department 501 Boylston Street, Suite 900 Boston, MA 02116 Fax: (617) 671-3447 ISBN-13: 978-0-321-63590-7 ISBN-10: 0-321-63590-6 Text printed in the United States on recycled paper at Courier in Westford, Massachusetts. First printing, July 2010 This book is dedicated to Anna Rebecca Paterson ptg This page intentionally left blank ptg Contents at a Glance List of Tables . ........................................................................................... xiii Foreword . .................................................................................................. xv Introduction . ............................................................................................. 1 Chapter 1. Hybrid Desktop/Internet Applications ............................... 5 Chapter 2. Audio and Video ................................................................. 53 Chapter 3. Model/View Table Models ................................................. 87 Chapter 4. Model/View Tree Models .................................................... 129 Chapter 5. Model/View Delegates . ...................................................... 185 Chapter 6. Model/View Views .............................................................. 207 Chapter 7. Threading with QtConcurrent . ............................................ 245 ptg Chapter 8. Threading with QThread . .................................................... 287 Chapter 9. Creating Rich Text Editors .................................................... 317 Chapter 10. Creating Rich Text Documents . ....................................... 359 Chapter 11. Creating Graphics/View Windows .................................... 389 Chapter 12. Creating Graphics/View Scenes . .................................... 409 Chapter 13. The Animation and State Machine Frameworks ............. 469 Epilogue . .................................................................................................. 491 Selected Bibliography . ........................................................................... 495 Index . ........................................................................................................ 499 www.qtrac.eu/aqpbook.html vii This page intentionally left blank ptg Contents List of Tables . ........................................................................................... xiii Foreword . .................................................................................................. xv Introduction . ............................................................................................. 1 Acknowledgements . 3 Chapter 1. Hybrid Desktop/Internet Applications . 5 Internet-Aware Widgets . 6 Using WebKit . ..................................................................................... 21 A Generic Web Browser Window Component . .................... 22 ptg Creating Web Site-Specific Applications . ............................... 30 Embedding Qt Widgets in Web Pages .................................... 44 Chapter 2. Audio and Video ................................................................. 53 Using QSound and QMovie .............................................................. 54 The Phonon Multimedia Framework . .............................................. 60 Playing Music . ........................................................................... 64 Playing Videos ........................................................................... 80 Chapter 3. Model/View Table Models . ................................................. 87 Qt’s Model/View Architecture . ...................................................... 88 Using QStandardItemModels for Tables . ....................................... 90 Changing a Table Model through the User Interface . .......... 91 A QStandardItemModel Subclass for Tables .......................... 102 A QSortFilterProxyModel to Filter Out Duplicate Rows . .......... 107 A QSortFilterProxyModel to Filter In Wanted Rows .................. 109 Creating Custom Table Models . 113 Changing a Table Model through the User Interface . 113 A Custom QAbstractTableModel Subclass for Tables . 116 The QAbstractItemModel API Methods for Tables . 117 Methods to Support Saving and Loading Table Items . 126 ix Chapter 4. Model/View Tree Models .................................................... 129 Using QStandardItemModels for Trees ............................................ 130 Changing a Tree Model through the User Interface . ............. 131 A QStandardItem Subclass for Tree Items ............................... 141 A QStandardItemModel Subclass for Trees . .......................... 143 Creating Custom Tree Models ......................................................... 151 Changing a Tree Model through the User Interface . 152 A Custom Item Class for Tree Items . 155 A Custom QAbstractItemModel Subclass for Trees . 158 The QAbstractItemModel API for Trees . 160 The QAbstractItemModel API for Drag and Drop . 168 Methods for Saving and Loading Tree Items . 180 Chapter 5. Model/View Delegates . 185 Datatype-Specific Editors . 186 Datatype-Specific Delegates . ptg 188 A Read–Only Column or Row Delegate . 188 An Editable Column or Row Delegate . 193 Model-Specific Delegates . .............................................................. 201 Chapter 6. Model/View Views . .............................................................. 207 QAbstractItemView Subclasses . .................................................... 208 Model-Specific Visualizing Views . ................................................... 224 The Visualizer Widget . .............................................................. 225 The Visualizer’s Aggregated Header Widget . ....................... 232 The Visualizer’s Aggregated View Widget . ............................ 235 Chapter 7. Threading with QtConcurrent . ............................................ 245 Executing Functions in Threads . 248 Using QtConcurrent::run() . 252 Using QRunnable . 257 Filtering and Mapping in Threads .................................................... 261 Using QtConcurrent to Filter . .................................................... 270 Using QtConcurrent to Filter and Reduce ............................... 277 Using QtConcurrent to Map .................................................... 281 Chapter 8. Threading with QThread ............................... Processing Independent Items . ...................................................... 287 Processing Shared Items ................................................................... 302 x Chapter 9. Creating Rich Text Editors . ................................................... 317 Introducing QTextDocument . ......................................................... 318 Creating Custom Text Editors . ......................................................... 320 Completion for Line Edits and Comboboxes . 320 Completion and Syntax Highlighting for Text Editors . 322 Completion for Multi-line Editors . 323 Syntax Highlighting . 336 A Rich Text Single Line Editor . 342 Multi-line Rich Text Editing . 353 Chapter 10. Creating Rich Text Documents . 359 Exported QTextDocument File Quality
Recommended publications
  • 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]
  • Ubuntu Kung Fu
    Prepared exclusively for Alison Tyler Download at Boykma.Com What readers are saying about Ubuntu Kung Fu Ubuntu Kung Fu is excellent. The tips are fun and the hope of discov- ering hidden gems makes it a worthwhile task. John Southern Former editor of Linux Magazine I enjoyed Ubuntu Kung Fu and learned some new things. I would rec- ommend this book—nice tips and a lot of fun to be had. Carthik Sharma Creator of the Ubuntu Blog (http://ubuntu.wordpress.com) Wow! There are some great tips here! I have used Ubuntu since April 2005, starting with version 5.04. I found much in this book to inspire me and to teach me, and it answered lingering questions I didn’t know I had. The book is a good resource that I will gladly recommend to both newcomers and veteran users. Matthew Helmke Administrator, Ubuntu Forums Ubuntu Kung Fu is a fantastic compendium of useful, uncommon Ubuntu knowledge. Eric Hewitt Consultant, LiveLogic, LLC Prepared exclusively for Alison Tyler Download at Boykma.Com Ubuntu Kung Fu Tips, Tricks, Hints, and Hacks Keir Thomas The Pragmatic Bookshelf Raleigh, North Carolina Dallas, Texas Prepared exclusively for Alison Tyler Download at Boykma.Com Many of the designations used by manufacturers and sellers to distinguish their prod- ucts are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers, LLC.
    [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]
  • Kde-Guide-De-Developpement.Web.Pdf
    KDE Published : 2017-06-26 License : GPLv2+ 1 KDE DU POINT DE VUE D'UN DÉVELOPPEUR 1. AVEZ-VOUS BESOIN DE CE LIVRE ? 2. LA PHILOSOPHIE DE KDE 3. COMMENT OBTENIR DE L'AIDE 2 1. AVEZ-VOUS BESOIN DE CE LIVRE ? Vous devriez lire ce livre si vous voulez développer pour KDE. Nous utilisons le terme développement très largement pour couvrir tout ce qui peut conduire à un changement dans le code source, ce qui inclut : Soumettre une correction de bogue Écrire une nouvelle application optimisée par la technologie KDE Contribuer à un projet existant Ajouter de la fonctionnalité aux bibliothèques de développement de KDE Dans ce livre, nous vous livrerons les bases dont vous avez besoin pour être un développeur productif. Nous décrirons les outils que vous devrez installer, montrer comment lire la documentation (et écrire la vôtre propre, une fois que vous aurez créé la nouvelle fonctionnalité !) et comment obtenir de l'aide par d'autres moyens. Nous vous présenterons la communauté KDE, qui est essentielle pour comprendre KDE parce que nous sommes un projet « open source », libre (gratuit). Les utilisateurs finaux du logiciel n'ont PAS besoin de ce livre ! Cependant, ils pourraient le trouver intéressant pour les aider à comprendre comment les logiciels complexes et riches en fonctionnalités qu'ils utilisent ont vu le jour. 3 2. LA PHILOSOPHIE DE KDE Le succès de KDE repose sur une vue globale, que nous avons trouvée à la fois pratique et motivante. Les éléments de cette philosophie de développement comprennent : L'utilisation des outils disponibles plutôt que de ré-inventer ceux existants : beaucoup des bases dont vous avez besoin pour travailler font déjà partie de KDE, comme les bibliothèques principales ou les « Kparts », et sont tout à fait au point.
    [Show full text]
  • The Nokia Open Source Browser
    The Nokia Open Source Browser Guido Grassel1, Roland Geisler2, Elina Vartiainen1, Deepika Chauhan2, Andrei Popescu1 1Nokia Research Center, P.O. Box 407, 00045 Nokia Group, Finland 2Nokia Technology Platforms, 5 Wayside Road, Burlington, MA 01803, U.S.A, [guido.grassel, roland.geisler, elina.vartiainen, deepika.chauhan, andrei.popescu]@nokia.com ABSTRACT learned and benefits, and chapter 7 summarizes and makes final With the advent of faster wireless networks and more conclusions. capable mobile devices we expect to see growth in the mobile use of the Internet. In this paper we describe a new Web browser for 2. RELATED WORK mobile devices that we have built based on Open Source Software Both Web browsers licensed by Nokia as well as S60’s own components. Our goal was to design a full Web browser that is browser used Narrow Layout. Narrow Layout is a method easy to use, an architecture that is portable to other mobile whereby the Web page is reformatted into one column that fits the software platforms, and an Open Source development approach to width of a typically small handheld device display. This way, the give others the opportunity to further develop it or use it for need for horizontal scrolling is eliminated and the user will see all research purposes. We describe our technical implementation, the the content just by scrolling down. From our own experience usability features that we invented, and discuss the benefits and using these browsers, and based on usability studies [17] we Nokia's plans to work with the Open Source community to further concluded that this method was insufficient.
    [Show full text]
  • KDE Galaxy 4.13
    KDE Galaxy 4.13 - Devaja Shah About Me ●3rd Year Alienatic Student at DA- !"# Gandhinagar ●Dot-editor %or KDE &romo "ea' ●Member of KDE e.(. ●&a))ion for Technology# Literature ●+un the Google Developer Group in !olle$e ●-rganizin$ Tea' of KDE Meetup# con%./de.in 14 -/ay, sooooo....... ●Ho1 many of you are %an) of Science Fiction3 ●Astronomy3 ● 0o1 is it Related to KDE3 ●That i) precisely 1hat the talk is about. ●Analogy to $et you to kno1 everythin$ that you should about ● “Galaxy KDE 4.13” 4ait, isn't it 4.14? ●KDE5) late)t ver)ion S! 4.14 6 7ove'ber 8914 ●KDE Soft1are !o',ilation ::.xx ●Significance o% +elea)e) ●- -r$ani.ed# )y)te'atic co',ilation o% %eature) < develo,'ent) ●- 2ive )erie) of relea)e) till date. ●7o Synchronized +elea)e) Any lon$er: ● - KDE 2ra'e1ork) > ?'onthly@ ● - KDE &la)'a > ?3 'onth)@ ● - KDE Ap,lication) ?date ba)ed@ ●Au)t *i/e Ap, (er)ion) But, 1hat am I to do o% the Galaxy 7umber? ●4ork in a "eam ●4ork acros) a Deadline ●-%;ce Space Si'ulation ●Added 'petus %or Deliverin$ your 2eature) ●You 1ork a) a ,art of the C!oreD Developer "ea' ● nstils Discipline ●Better +e),onse# Better 2eedbac/ ●Better Deliverance ●Synchronized 1ork with other C)ea)onedD developer) Enough of the bore....... ●Ho1 do $et started3 ● - Hope you didn't )nooze yesterday ● +!# Subscribe to Mailing Lists ●Mentoring Progra') ●GsoC# Season of KDE, O2W Progra') ●Bootstra,pin$ Training Session) Strap yourself onto the Rocket ●And Blast O%%......... ● ● ● Entered A 4ormhole and Ea,ped into the KDE Galaxy ●No1 what? ●Pick a Planet to nhabit ●But....
    [Show full text]
  • Rapid GUI Development with Qtruby
    Rapid GUI Development with QtRuby Caleb Tennis The Pragmatic Bookshelf Raleigh, North Carolina Dallas, Texas BOOKLEET © Many of the designations used by manufacturers and sellers to distin- guish their products are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Pro- grammer, Pragmatic Programming, Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers, LLC. Qt® is a registered trademark of Trolltech in Norway, the United States and other countries. Useful Friday Links • Source code from this book and Every precaution was taken in the preparation of this book. However, the other resources. publisher assumes no responsibility for errors or omissions, or for dam- • Free updates to this PDF • Errata and suggestions. To report ages that may result from the use of information (including program list- an erratum on a page, click the ings) contained herein. link in the footer. To see what we’re up to, please visit us at http://www.pragmaticprogrammer.com Copyright © 2006 The Pragmatic Programmers LLC. All rights reserved. This PDF publication is intended for the personal use of the individual whose name appears at the bottom of each page. This publication may not be disseminated to others by any means without the prior consent of the publisher. In particular, the publication must not be made available on the Internet (via a web server, file sharing network, or any other means).
    [Show full text]
  • Kdesrc-Build Script Manual
    kdesrc-build Script Manual Michael Pyne Carlos Woelz kdesrc-build Script Manual 2 Contents 1 Introduction 8 1.1 A brief introduction to kdesrc-build . .8 1.1.1 What is kdesrc-build? . .8 1.1.2 kdesrc-build operation ‘in a nutshell’ . .8 1.2 Documentation Overview . .9 2 Getting Started 10 2.1 Preparing the System to Build KDE . 10 2.1.1 Setup a new user account . 10 2.1.2 Ensure your system is ready to build KDE software . 10 2.1.3 Setup kdesrc-build . 12 2.1.3.1 Install kdesrc-build . 12 2.1.3.2 Prepare the configuration file . 12 2.1.3.2.1 Manual setup of configuration file . 12 2.2 Setting the Configuration Data . 13 2.3 Using the kdesrc-build script . 14 2.3.1 Loading project metadata . 14 2.3.2 Previewing what will happen when kdesrc-build runs . 14 2.3.3 Resolving build failures . 15 2.4 Building specific modules . 16 2.5 Setting the Environment to Run Your KDEPlasma Desktop . 17 2.5.1 Automatically installing a login driver . 18 2.5.1.1 Adding xsession support for distributions . 18 2.5.1.2 Manually adding support for xsession . 18 2.5.2 Setting up the environment manually . 19 2.6 Module Organization and selection . 19 2.6.1 KDE Software Organization . 19 2.6.2 Selecting modules to build . 19 2.6.3 Module Sets . 20 2.6.3.1 The basic module set concept . 20 2.6.3.2 Special Support for KDE module sets .
    [Show full text]
  • 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
    [Show full text]
  • Master Thesis Innovation Dynamics in Open Source Software
    Master thesis Innovation dynamics in open source software Author: Name: Remco Bloemen Student number: 0109150 Email: [email protected] Telephone: +316 11 88 66 71 Supervisors and advisors: Name: prof. dr. Stefan Kuhlmann Email: [email protected] Telephone: +31 53 489 3353 Office: Ravelijn RA 4410 (STEPS) Name: dr. Chintan Amrit Email: [email protected] Telephone: +31 53 489 4064 Office: Ravelijn RA 3410 (IEBIS) Name: dr. Gonzalo Ord´o~nez{Matamoros Email: [email protected] Telephone: +31 53 489 3348 Office: Ravelijn RA 4333 (STEPS) 1 Abstract Open source software development is a major driver of software innovation, yet it has thus far received little attention from innovation research. One of the reasons is that conventional methods such as survey based studies or patent co-citation analysis do not work in the open source communities. In this thesis it will be shown that open source development is very accessible to study, due to its open nature, but it requires special tools. In particular, this thesis introduces the method of dependency graph analysis to study open source software devel- opment on the grandest scale. A proof of concept application of this method is done and has delivered many significant and interesting results. Contents 1 Open source software 6 1.1 The open source licenses . 8 1.2 Commercial involvement in open source . 9 1.3 Opens source development . 10 1.4 The intellectual property debates . 12 1.4.1 The software patent debate . 13 1.4.2 The open source blind spot . 15 1.5 Litterature search on network analysis in software development .
    [Show full text]
  • Cross-Platform 1 Cross-Platform
    Cross-platform 1 Cross-platform In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms.[1] [2] Cross-platform software may be divided into two types; one requires individual building or compilation for each platform that it supports, and the other one can be directly run on any platform without special preparation, e.g., software written in an interpreted language or pre-compiled portable bytecode for which the interpreters or run-time packages are common or standard components of all platforms. For example, a cross-platform application may run on Microsoft Windows on the x86 architecture, Linux on the x86 architecture and Mac OS X on either the PowerPC or x86 based Apple Macintosh systems. A cross-platform application may run on as many as all existing platforms, or on as few as two platforms. Platforms A platform is a combination of hardware and software used to run software applications. A platform can be described simply as an operating system or computer architecture, or it could be the combination of both. Probably the most familiar platform is Microsoft Windows running on the x86 architecture. Other well-known desktop computer platforms include Linux/Unix and Mac OS X (both of which are themselves cross-platform). There are, however, many devices such as cellular telephones that are also effectively computer platforms but less commonly thought about in that way. Application software can be written to depend on the features of a particular platform—either the hardware, operating system, or virtual machine it runs on.
    [Show full text]
  • CALL for SPONSORS for the KDE Developers and Contributors Conference 2006 (In Dublin, Ireland, 23Th to 30Th of September)
    CALL FOR SPONSORS for the KDE Developers and Contributors Conference 2006 (in Dublin, Ireland, 23th to 30th of September) About KDE KDE is one of the largest and most active projects in the Free Software world. For almost ten years it has delivered a powerful and easy-to-use graphical desktop environment and spplications for Linux and other UNIX systems. Be- hind KDE there is a vibrant community of software developers, translators, ar- KDE is a graphical desktop environment tists, usability experts and committed users, a community that continually pro- aimed at both home and professional ves that Free Software can be of world-class quality. use. Under constant development since its founding in 1996, KDE has evolved into an integrated workplace with lots of About aKademy Developing KDE 4 applications working together, and regu- larly receives user awards. Since KDE is aKademy is the name of the yearly KDE This year‘s aKademy will focus on get- Open Source software, anyone interes- world summit. This conference is a ting KDE 4 into shape. ted can download its source code and unique opportunity for many KDE cont- KDE 4 is the next major release of KDE have a look at how particular features ributors to meet each other in person. and will raise the bar for desktop devel- are implemented. Due to KDE being At aKademy, they can share quality time opers by providing unique frameworks Open Source software, KDE relies on discussing various KDE related issues, for the storage of personal information the contribution of volunteers. Having working together on KDE, and last but (Akonadi [http://pim.kde.org/akonadi/]), the source code available, together with not least, strengthening the hardware abstraction (Solid [http:// extensive documentation, allows develo- community.
    [Show full text]