HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
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
Advanced Qt Programming: Model/View Views
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