Foundations of Qt Development

Book description

As the standard for KDE desktop environment, Trolltech's Qt is a necessary basis for all programmers who want to develop cross-platform applications on Windows, Mac OS, Linux, and FreeBSD. A multitude of popular applications have been written in Qt, including Adobe Photoshop Elements, Google Earth, Perforce Visual Client, and Skype.

Foundations of Qt Development is based on Qt 4.2, and is aimed at C++ programmers who want to become proficient using this excellent toolkit to create graphical applications that can be ported to all major platforms. The book is focused on teaching you to write your own code in addition to using existing code. Common areas of confusion are identified, addressed, and answered.

Table of contents

  1. Title Page
  2. Dedication
  3. Contents at a Glance
  4. Contents
  5. Foreword
  6. About the Author
  7. About the Technical Reviewer
  8. Acknowledgments
  9. PART 1: Getting to Know Qt
    1. CHAPTER 1: The Qt Way of C++
      1. Installing a Qt Development Environment
      2. Making C++ “Qt-er”
      3. Signals, Slots, and Meta-Objects
      4. Collections and Iterators
      5. Summary
    2. CHAPTER 2: Rapid Application Development Using Qt
      1. The Sketch
      2. Event-Driven Applications
      3. Using Designer
      4. From Designer to Code
      5. The Final Touches
      6. Summary
    3. CHAPTER 3: Widgets and Layouts
      1. Creating Dialogs in Qt
      2. Common Widgets
      3. Common Dialogs
      4. Validating User Input
      5. Summary
    4. CHAPTER 4: The Main Window
      1. Windows and Documents
      2. Application Resources
      3. Dockable Widgets
      4. Summary
  10. PART 2: The Qt Building Blocks
    1. CHAPTER 5: The Model-View Framework
      1. Showing Data by Using Views
      2. Creating Custom Views
      3. Creating Custom Models
      4. Sorting and Filtering Models
      5. Summary
    2. CHAPTER 6: Creating Widgets
      1. Composing Widgets
      2. Your Widgets and Designer
      3. Summary
    3. CHAPTER 7: Drawing and Printing
      1. Drawing Widgets
      2. The Graphics View
      3. Summary
    4. CHAPTER 8: Files, Streams, and XML
      1. Working with Paths
      2. Working with Files
      3. XML
      4. Files and the Main Window
      5. Summary
    5. CHAPTER 9: Providing Help
      1. Creating Tooltips
      2. Providing What's This Help Tips
      3. Taking Advantage of the Status Bar
      4. Creating Wizards
      5. Assisting the User
      6. Summary
    6. CHAPTER 10: Internationalization and Localization
      1. Translating an Application
      2. Other Considerations
      3. Summary
    7. CHAPTER 11: Plugins
      1. Plugin Basics
      2. Extending Qt with Plugins
      3. Extending Your Application Using Plugins
      4. Non-Qt Plugins
      5. Summary
    8. CHAPTER 12: Doing Things in Parallel
      1. Basic Threading
      2. Synchronizing Safely
      3. Sharing Resources Among Threads
      4. Signaling Across the Thread Barrier
      5. Threads, QObjects, and Rules
      6. Working with Processes
      7. Summary
    9. CHAPTER 13: Databases
      1. A Quick Introduction to SQL
      2. Qt and Databases
      3. Putting It All Together
      4. Model Databases
      5. Summary
    10. CHAPTER 14: Networking
      1. Using the QtNetwork Module
      2. Working with Client Protocols
      3. Sockets
      4. Summary
    11. CHAPTER 15: Building Qt Projects
      1. QMake
      2. The CMake Build System
      3. Summary
    12. CHAPTER 16: Unit Testing
      1. Unit Testing and Qt
      2. Testing Dates
      3. Testing Widgets
      4. Testing Signals
      5. Testing for Real
      6. Summary
  11. PART 3: Appendixes
    1. APPENDIX A: Third-Party Tools
      1. Qt Widgets for Technical Applications: Qwt
      2. wwWidgets
      3. QDevelop
      4. Edyuk
    2. APPENDIX B: Containers, Types, and Macros
      1. Containers
      2. Types
      3. Macros and Functions
  12. Index

Product information

  • Title: Foundations of Qt Development
  • Author(s): Johan Thelin
  • Release date: August 2007
  • Publisher(s): Apress
  • ISBN: 9781590598313