You are previewing C++ GUI Programming with Qt 3.
O'Reilly logo
C++ GUI Programming with Qt 3

Book Description

"...not only the best book on Qt I have ever seen, but also the best book presenting any programming framework. Every sentence appears to be carefully worded, and every chapter has a sound concept, and so does the work as a whole." --Matthias Ettrich, Trolltech's lead developer, founder of the KDE project

"The 'Tao of Qt'.... The Qt system is a beautiful example of object oriented design, and the authors take advantage of this.... The authors have done an excellent job of presenting the subject in an interesting and engaging way...." --Ron McCarty, Instructor and Chair of the Department of Computer Science, Penn State Erie, The Behrend College

The first official Trolltech guide to Qt 3.2 programming!

Straight from Trolltech, this book covers all you need to build industrial-strength applications with Qt 3.2.x and C++--applications that run natively on Windows, Linux/Unix, Mac OS X, and embedded Linux with no source code changes! The book teaches solid Qt programming practices; it is not a rehash of the documentation.

  • Build powerful C++ GUI applications quickly and easily

  • Design dialogs and main windows visually and in code

  • Learn Qt's innovative typesafe signals and slots mechanism

  • Use layouts to create forms that automatically size and scale

  • Create custom signals, slots, events, and controls

  • Program the ''Qt way'' with techniques for Qt 3.2 that'll work with Qt 4

  • Code applications with menus, toolbars, dialogs, and drag and drop

  • Utilize 2D and 3D graphics, multithreading, and networking

  • Write database and XML applications

  • Internationalize to reach foreign markets

  • Exploit platform-specific-features like ActiveX

  • Already using Qt or just starting out? Evaluating Qt or managing it? Building open source applications--or commercial applications? Want to develop for Windows without buying an expensive compiler? Whatever your goal, this is the only book you need!

    Table of Contents

    1. Copyright
    2. Bruce Perens’ Open Source Series
    3. Foreword
    4. Preface
    5. Acknowledgments
    6. A Brief History of Qt
    7. About the Authors
    8. Production
    9. About the CD-ROM
    10. I. Basic Qt
      1. 1. Getting Started
        1. Hello Qt
        2. Making Connections
        3. Using the Reference Documentation
      2. 2. Creating Dialogs
        1. Subclassing QDialog
        2. Signals and Slots in Depth
        3. Rapid Dialog Design
        4. Shape-Changing Dialogs
        5. Dynamic Dialogs
        6. Built-in Widget and Dialog Classes
      3. 3. Creating Main Windows
        1. Subclassing QMainWindow
        2. Creating Menus and Toolbars
        3. Implementing the File Menu
        4. Setting Up the Status Bar
        5. Using Dialogs
        6. Storing Settings
        7. Multiple Documents
        8. Splash Screens
      4. 4. Implementing Application Functionality
        1. The Central Widget
        2. Subclassing QTable
        3. Loading and Saving
        4. Implementing the Edit Menu
        5. Implementing the Other Menus
        6. Subclassing QTableItem
      5. 5. Creating Custom Widgets
        1. Customizing Qt Widgets
        2. Subclassing QWidget
        3. Integrating Custom Widgets with Qt Designer
        4. Double Buffering
    11. II. Intermediate Qt
      1. 6. Layout Management
        1. Basic Layouts
        2. Splitters
        3. Widget Stacks
        4. Scroll Views
        5. Dock Windows
        6. Multiple Document Interface
      2. 7. Event Processing
        1. Reimplementing Event Handlers
        2. Installing Event Filters
        3. Staying Responsive During Intensive Processing
      3. 8. 2D and 3D Graphics
        1. Painting with QPainter
        2. Graphics with QCanvas
        3. Printing
        4. Graphics with OpenGL
      4. 9. Drag and Drop
        1. Enabling Drag and Drop
        2. Supporting Custom Drag Types
        3. Advanced Clipboard Handling
      5. 10. Input/Output
        1. Reading and Writing Binary Data
        2. Reading and Writing Text
        3. Handling Files and Directories
        4. Inter-Process Communication
      6. 11. Container Classes
        1. Vectors
        2. Lists
        3. Maps
        4. Pointer-Based Containers
        5. QString and QVariant
      7. 12. Databases
        1. Connecting and Querying
        2. Presenting Data in Tabular Form
        3. Creating Data-Aware Forms
      8. 13. Networking
        1. Using QFtp
        2. Using QHttp
        3. TCP Networking with QSocket
        4. UDP Networking with QSocketDevice
      9. 14. XML
        1. Reading XML with SAX
        2. Reading XML with DOM
        3. Writing XML
      10. 15. Internationalization
        1. Working with Unicode
        2. Making Applications Translation-Aware
        3. Dynamic Language Switching
        4. Translating Applications
      11. 16. Providing Online Help
        1. Tooltips, Status Tips, and “What’s This?” Help
        2. Using QTextBrowser as a Simple Help Engine
        3. Using Qt Assistant for Powerful Online Help
      12. 17. Multithreading
        1. Working with Threads
        2. Communicating with the GUI Thread
        3. Using Qt’s Classes in Non-GUI Threads
      13. 18. Platform-Specific Features
        1. Interfacing with Native APIs
        2. Using ActiveX
        3. Session Management
      14. A. Installing Qt
        1. A Note on Licensing
        2. Installing Qt/Windows
        3. Installing Qt/Mac
        4. Installing Qt/X11
      15. B. Qt’s Class Hierarchy