C++ GUI Programming with Qt4

€ 71,99
Sofort lieferbar
Februar 2008



The Only Official, Best-Practice Guide to Qt 4.3 ProgrammingUsing 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


Series Editor's Note xiForeword xiiiPreface xvAcknowledgments xviiA Brief History of Qt xixPart 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 589B. Building Qt Applications 593C. Introduction to Qt Jambi 605D. Introduction to C++ for Java and C# Programmers 623Index 665


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.
EAN: 9780132354165
ISBN: 0132354160
Untertitel: Foreword by Matthias Ettrich. 'Prentice Hall Open Source Software Development Series'. 2nd Revised edition. Illustrations. Sprache: Englisch.
Verlag: Prentice Hall
Erscheinungsdatum: Februar 2008
Seitenanzahl: 752 Seiten
Format: gebunden
Es gibt zu diesem Artikel noch keine Bewertungen.Kundenbewertung schreiben