
Advanced Qt Programming
Creating Great Software with C++ and Qt 4
Mark Summerfield(Author)
Prentice Hall (Publisher)
Published on 22. July 2010
Book
Hardback
560 pages
978-0-321-63590-7 (ISBN)
Article exhausted; check for reprint
Description
Master Qt's Most Powerful APIs, Patterns, and Development Practices
Qt has evolved into a remarkably powerful solution for cross-platform desktop, Web, and mobile development. However, even the most experienced Qt programmers only use a fraction of its capabilities. Moreover, practical information about Qt's newest features has been scarce-until now.
Advanced Qt Programming shows developers exactly how to take full advantage of Qt 4.5's and Qt 4.6's most valuable new APIs, application patterns, and development practices. Authored by Qt expert Mark Summerfield, this book concentrates on techniques that offer the most power and flexibility with the least added complexity.
Summerfield focuses especially on model/view and graphics/view programming, hybrid desktop/Web applications, threading, and applications incorporating media and rich text. Throughout, he presents realistic, downloadable code examples, all tested on Windows, Mac OS X, and Linux using Qt 4.6 (and most tested on Qt 4.5) and designed to anticipate future versions of Qt. The book
Walks through using Qt with WebKit to create innovative hybrid desktop/Internet applications
Shows how to use the Phonon framework to build powerful multimedia applications
Presents state-of-the-art techniques for using model/view table and tree models, QStandardItemModels, delegates, and views, and for creating custom table and tree models, delegates, and views
Explains how to write more effective threaded programs with the QtConcurrent module and with the QThread class
Includes detailed coverage of creating rich text editors and documents
Thoroughly covers graphics/view programming: architecture, windows, widgets, layouts, scenes, and more
Introduces Qt 4.6's powerful animation and state machine frameworks
Qt has evolved into a remarkably powerful solution for cross-platform desktop, Web, and mobile development. However, even the most experienced Qt programmers only use a fraction of its capabilities. Moreover, practical information about Qt's newest features has been scarce-until now.
Advanced Qt Programming shows developers exactly how to take full advantage of Qt 4.5's and Qt 4.6's most valuable new APIs, application patterns, and development practices. Authored by Qt expert Mark Summerfield, this book concentrates on techniques that offer the most power and flexibility with the least added complexity.
Summerfield focuses especially on model/view and graphics/view programming, hybrid desktop/Web applications, threading, and applications incorporating media and rich text. Throughout, he presents realistic, downloadable code examples, all tested on Windows, Mac OS X, and Linux using Qt 4.6 (and most tested on Qt 4.5) and designed to anticipate future versions of Qt. The book
Walks through using Qt with WebKit to create innovative hybrid desktop/Internet applications
Shows how to use the Phonon framework to build powerful multimedia applications
Presents state-of-the-art techniques for using model/view table and tree models, QStandardItemModels, delegates, and views, and for creating custom table and tree models, delegates, and views
Explains how to write more effective threaded programs with the QtConcurrent module and with the QThread class
Includes detailed coverage of creating rich text editors and documents
Thoroughly covers graphics/view programming: architecture, windows, widgets, layouts, scenes, and more
Introduces Qt 4.6's powerful animation and state machine frameworks
Reviews / Votes
"A good book on advanced Qt programming has been missing in the arsenal of Qt programmers. I'm very happy that Mark has written one. He is a fantastic technicalwriter with all the necessary background to write authoritatively about Qt programming. ... In other words: You are in for a treat! You are holding in your hands an excellent opportunity to expand on your knowledge of all the cool stuff you can do with Qt." -Eirik Chambe-Eng, cocreator of QtMore details
Language
English
Place of publication
Upper Saddle River
United States
Publishing group
Pearson Education (US)
Target group
Professional and scholarly
Dimensions
Height: 242 mm
Width: 188 mm
Thickness: 33 mm
Weight
1050 gr
ISBN-13
978-0-321-63590-7 (9780321635907)
Schweitzer Classification
Other editions
New editions

Book
02/2017
Pearson
€50.12
Shipment within 15-20 days
Additional editions

E-Book
07/2010
1st Edition
Pearson
€26.50
Available for download
Person
Mark Summerfield owns Qtrac Ltd., where he works as an independent consultant, programmer, author, editor, and trainer specializing in C++, Qt, Python, and PyQt. During nearly three years as documentation manager for Trolltech (now Nokia's Qt Development Frameworks), he founded and edited the Qt Quarterly technical journal. His books include Rapid GUI Programming with Python and Qt (Prentice Hall, 2008) and Programming in Python 3, Second Edition (Addison-Wesley, 2010). With Jasmin Blanchette, he coauthored C++ GUI Programming with Qt 4, Second Edition (Prentice Hall, 2008).
Content
List of Tables xiii Foreword xv
Introduction 1
Chapter 1: Hybrid Desktop/Internet Applications 5
Internet-Aware Widgets 6
Using WebKit 21
Chapter 2: Audio and Video 53
Using QSound and QMovie 54
The Phonon Multimedia Framework 60
Chapter 3: Model/View Table Models 87
Qt's Model/View Architecture 88
Using QStandardItemModels for Tables 90
Creating Custom Table Models 113
Chapter 4: Model/View Tree Models 129
Using QStandardItemModels for Trees 130
Creating Custom Tree Models 151
Chapter 5: Model/View Delegates 185
Datatype-Specific Editors 186
Datatype-Specific Delegates 188
Model-Specific Delegates 201
Chapter 6: Model/View Views 207
QAbstractItemView Subclasses 208
Model-Specific Visualizing Views 224
Chapter 7: Threading with QtConcurrent 245
Executing Functions in Threads 248
Filtering and Mapping in Threads 261
Chapter 8: Threading with QThread 287
Processing Independent Items 287
Processing Shared Items 302
Chapter 9: Creating Rich Text Editors 317
Introducing QTextDocument 318
Creating Custom Text Editors 320
A Rich Text Single Line Editor 342
Multi-line Rich Text Editing 353
Chapter 10: Creating Rich Text Documents 359
Exported QTextDocument File Quality 361
Creating QTextDocuments 364
Exporting and Printing Documents 371
Painting Pages 379
Chapter 11: Creating Graphics/View Windows 389
The Graphics/View Architecture 390
Graphics/View Widgets and Layouts 392
Introducing Graphics Items 399
Chapter 12: Creating Graphics/View Scenes 409
Scenes, Items, and Actions 411
Enhancing QGraphicsView 439
Creating a Dock Widget Toolbox 440
Creating Custom Graphics Items 447
Chapter 13: The Animation and State Machine Frameworks 469
Introducing the Animation Framework 469
Introducing the State Machine Framework 474
Combining Animations and State Machines 481
Epilogue 491
Selected Bibliography 495
Index 499
Introduction 1
Chapter 1: Hybrid Desktop/Internet Applications 5
Internet-Aware Widgets 6
Using WebKit 21
Chapter 2: Audio and Video 53
Using QSound and QMovie 54
The Phonon Multimedia Framework 60
Chapter 3: Model/View Table Models 87
Qt's Model/View Architecture 88
Using QStandardItemModels for Tables 90
Creating Custom Table Models 113
Chapter 4: Model/View Tree Models 129
Using QStandardItemModels for Trees 130
Creating Custom Tree Models 151
Chapter 5: Model/View Delegates 185
Datatype-Specific Editors 186
Datatype-Specific Delegates 188
Model-Specific Delegates 201
Chapter 6: Model/View Views 207
QAbstractItemView Subclasses 208
Model-Specific Visualizing Views 224
Chapter 7: Threading with QtConcurrent 245
Executing Functions in Threads 248
Filtering and Mapping in Threads 261
Chapter 8: Threading with QThread 287
Processing Independent Items 287
Processing Shared Items 302
Chapter 9: Creating Rich Text Editors 317
Introducing QTextDocument 318
Creating Custom Text Editors 320
A Rich Text Single Line Editor 342
Multi-line Rich Text Editing 353
Chapter 10: Creating Rich Text Documents 359
Exported QTextDocument File Quality 361
Creating QTextDocuments 364
Exporting and Printing Documents 371
Painting Pages 379
Chapter 11: Creating Graphics/View Windows 389
The Graphics/View Architecture 390
Graphics/View Widgets and Layouts 392
Introducing Graphics Items 399
Chapter 12: Creating Graphics/View Scenes 409
Scenes, Items, and Actions 411
Enhancing QGraphicsView 439
Creating a Dock Widget Toolbox 440
Creating Custom Graphics Items 447
Chapter 13: The Animation and State Machine Frameworks 469
Introducing the Animation Framework 469
Introducing the State Machine Framework 474
Combining Animations and State Machines 481
Epilogue 491
Selected Bibliography 495
Index 499