Home > Store > Programming > C/C++
C++ GUI Programming with Qt4, 2nd Edition
- By Jasmin Blanchette, Mark Summerfield
- Published Feb 4, 2008 by Prentice Hall. Part of the Prentice Hall Open Source Software Development Series series.
- Copyright 2008
- Dimensions: 7x9-1/4
- Pages: 752
- Edition: 2nd
- Book
- ISBN-10: 0-13-235416-0
- ISBN-13: 978-0-13-235416-5
Register your product to gain access to bonus material or receive a coupon.
Product Author Bios
Jasmin Blanchette is a Trolltech senior software engineer and is writing his M.Sc. thesis in computer science at the University of Oslo.
Mark Summerfield works as an independent trainer and consultant specializing in C++, Qt, Python, and PyQt, and is the author of Rapid GUI Programming with Python and Qt. Blanchette and Summerfield coauthored C++ GUI Programming with Qt 3 and the first edition of C++ GUI Programming with Qt 4.
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
Example(s)
Download the book examples for Windows (Zipped)
Download the book examples for Linux/UNIX (tarred and gzipped)
|
25 of 25 people found the following review helpful
By
This review is from: C++ GUI Programming with Qt 4 (2nd Edition) (Prentice Hall Open Source Software Development Series) (Hardcover)
This book contains the most thorough coverage of the many functionalities in Qt. The second edition is also the most current of all the books (a fleeting feature, but noteworthy depending on what you want to learn). Its well written and after over 1 year of working with the book I have yet to find any erroneous information of code.We own all of the Qt books, but we use this one for teaching Qt in our Internship program. The Basic Qt Section starts simple and builds up from individual widgets and signals/slots to dialogs to windows to the full fancy application functionality (menus, toolbars, docking objects, tabs, MDI windows) that Qt makes pretty effortless in a number of ways. The book covers the very powerful Model-View structure very well. We have also benefitted from the XML, layout and networking chapters. The book has also been of help in dealing with look and feel issues (stylesheets and subclassing QStyle). It also covers a number of fascinating topics... Read more
17 of 18 people found the following review helpful
This review is from: C++ GUI Programming with Qt 4 (2nd Edition) (Prentice Hall Open Source Software Development Series) (Hardcover)
This book is fantastic, probably the best programming book I have ever read. I didn't even know c/c++ when I started reading (Java developer), but lo! and behold, there is an appendix for Java/c# developers to teach them how to use c++. I have read the book cover to cover and had absolutely no problems understanding any of the concepts in the book. I didn't need to reread anything. I am not sure what some of the other reviewers are talking about; maybe it is because I am familiar with Swing and .Net gui development and the concepts are basically the same. The parts in particular about slots and signals mentioned below I felt was done extremely well. I don't know how other programmers learn, but I learn by seeing some code in action then piecing together what it does line by line. If that isn't how you learn, I would get a different book.This book is organized like this, brief intro to a topic code example of topic line/group of lines by line... Read more
7 of 7 people found the following review helpful
By
Amazon Verified Purchase(What's this?)
This review is from: C++ GUI Programming with Qt 4 (2nd Edition) (Prentice Hall Open Source Software Development Series) (Hardcover)
This book was my first introduction to Qt, and I've been using it for about two weeks now on a project. Other reviewers have argued that it doesn't give enough of a big-picture view. It is true that the book has many pages of annotated source code. I started off thinking the verbosity was daunting, but when I actually tried to start using Qt, I quickly appreciated all the little details in this book and the very complete index (the index is over 50 pages long). The Trolltech website is a good reference for putting everything in one place, but this book is great for stepping through an example in detail.One caveat: I've used other widget sets (Gtk, Tk) before with other languages, but have no previous experience with Qt, and not much experience with C++ (so I found the "Intro to C++" chapter for Qt programmers a helpful summary). |
› See all 37 customer reviews...
Online Sample Chapters
C++ GUI Programming with Qt4: 2D Graphics
C++ GUI Programming with Qt4: 3D Graphics
C++ GUI Programming with Qt4: Application Scripting
C++ GUI Programming with Qt4: Building Qt Applications
C++ GUI Programming with Qt4: Container Classes
C++ GUI Programming with Qt4: Creating Custom Widgets
C++ GUI Programming with Qt4: Creating Dialogs
C++ GUI Programming with Qt4: Creating Main Windows
C++ GUI Programming with Qt4: Creating Plugins
C++ GUI Programming with Qt4: Databases
C++ GUI Programming with Qt4: Drag and Drop
C++ GUI Programming with Qt4: Embedded Programming
C++ GUI Programming with Qt4: Event Processing
C++ GUI Programming with Qt4: Getting Started
C++ GUI Programming with Qt4: Implementing Application Functionality
C++ GUI Programming with Qt4: Input/Output
C++ GUI Programming with Qt4: Internationalization
C++ GUI Programming with Qt4: Introduction to C++ for Java and C# Programmers
C++ GUI Programming with Qt4: Introduction to Qt Jambi
C++ GUI Programming with Qt4: Item View Classes
C++ GUI Programming with Qt4: Layout Management
C++ GUI Programming with Qt4: Look and Feel Customization
C++ GUI Programming with Qt4: Multithreading
C++ GUI Programming with Qt4: Networking
C++ GUI Programming with Qt4: Obtaining and Installing Qt
C++ GUI Programming with Qt4: Platform-Specific Features
C++ GUI Programming with Qt4: Providing Online Help
C++ GUI Programming with Qt4: XML
Table of Contents
Series Editor's Note xi
Foreword xiii
Preface xv
Acknowledgments xvii
A Brief History of Qt xix
Part I: Basic Qt
1. Getting Started 3
Hello Qt 3
Making Connections 5
Laying Out Widgets 6
Using the Reference Documentation 10
2. Creating Dialogs 13
Subclassing QDialog 13
Signals and Slots in Depth 20
Rapid Dialog Design 23
Shape-Changing Dialogs 31
Dynamic Dialogs 38
Built-in Widget and Dialog Classes 39
3. Creating Main Windows 45
Subclassing QMain Window 46
Creating Menus and Toolbars 50
Setting Up the Status Bar 55
Implementing the File Menu 57
Using Dialogs 63
Storing Settings 69
Multiple Documents 71
Splash Screens 74
4. Implementing Application Functionality 77
The Central Widget 77
Subclassing QTableWidget 78
Loading and Saving 84
Implementing the Edit Menu 87
Implementing the Other Menus 91
Subclassing QTableWidget Item 95
5. Creating Custom Widgets 105
Customizing QtWidgets 105
Subclassing QWidget 107
Integrating Custom Widgets with QtDesigner 117
Double Buffering 121
Part II: Intermediate Qt
6. Layout Management 141
Laying Out Widgets on a Form 141
Stacked Layouts 147
Splitters 149
Scrolling Areas 152
Dock Windows and Toolbars 154
Multiple Document Interface 157
7. Event Processing 167
Reimplementing Event Handlers 167
Installing Event Filters 172
Staying Responsive during Intensive Processing 175
8. 2D Graphics 179
Painting with QPainter 180
Coordinate System Transformations 185
High-Quality Rendering with QImage 193
Item-Based Rendering with Graphics View 195
Printing 217
9. Drag and Drop 227
Enabling Drag and Drop 227
Supporting Custom Drag Types 232
Clipboard Handling 237
10. Item View Classes 239
Using the Item View Convenience Classes 240
Using Predefined Models 247
Implementing Custom Models 252
Implementing Custom Delegates 266
11. Container Classes 273
Sequential Containers 274
Associative Containers 282
Generic Algorithms 285
Strings, Byte Arrays, and Variants 287
12. Input/Output 295
Reading and Writing Binary Data 296
Reading and Writing Text 301
Traversing Directories 307
Embedding Resources 308
Inter-Process Communication 309
13. Databases 315
Connecting and Querying 316
Viewing Tables 322
Editing Records Using Forms 324
Presenting Data in Tabular Forms 330
14. Multithreading 339
Creating Threads 340
Synchronizing Threads 343
Communicating with the Main Thread 349
Using Qt's Classes in Secondary Threads 356
15. Networking 359
Writing FTP Clients 359
Writing HTTP Clients 368
Writing TCP Client-Server Applications 371
Sending and Receiving UDP Datagrams 381
16. XML 387
Reading XML with QXmlStream Reader 388
Reading XML with DOM 395
Reading XML with SAX 400
Writing XML 404
17. Providing Online Help 407
Tooltips, Status Tips, and "What's This?" Help 407
Using a Web Browser to Provide Online Help 409
Using QText Browser as a Simple Help Engine 411
Using QtAssistant for Powerful Online Help 414
Part III: Advanced Qt
18. Internationalization 419
Working with Unicode 420
Making Applications Translation-Aware 423
Dynamic Language Switching 429
Translating Applications 435
19. Look and Feel Customization 439
Using Qt Style Sheets 439
Subclassing QStyle 454
20. 3D Graphics 471
Drawing Using OpenGL 471
Combining OpenGL and QPainter 477
Doing Overlays Using Framebuffer Objects 484
21. Creating Plugins 491
Extending Qt with Plugins 492
Making Applications Plugin-Aware 502
Writing Application Plugins 505
22. Application Scripting 509
Overview of the ECMA Script Language 510
Extending Qt Applications with Scripts 519
Implementing GUI Extensions Using Scripts 523
Automating Tasks through Scripting 530
23. Platform-Specific Features 543
Interfacing with Native APIs 543
Using ActiveX on Windows 547
Handling X11 Session Management 559
24. Embedded Programming 567
Getting Started with Qt/Embedded Linux 568
Customizing Qt/Embedded Linux 570
Integrating Qt Applications with Qtopia 571
Using Qtopia APIs 576
Appendixes
A. Obtaining and Installing Qt 589
B. Building Qt Applications 593
C. Introduction to Qt Jambi 605
D. Introduction to C++ for Java and C# Programmers 623
Index 665
Sample Pages

This book includes free shipping!
This book includes free shipping!
eBook (Watermarked)
$55.99
$44.79
Includes EPUB, MOBI, and PDF
About eBook Formats
This eBook includes the following formats, accessible from your Account page after purchase:
EPUBThe open industry format known for its reflowable content and usability on supported mobile devices.
MOBIThe eBook format compatible with the Amazon Kindle and Amazon Kindle applications.
PDFThe popular standard, used most often with the free Adobe® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discretely watermarking it with your name, making it uniquely yours.
- Request an Instructor or Media review copy.
- Corporate, Academic, and Employee Purchases
- International Buying Options
Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.

