Skip to content

Foundations of Qt Development

Spend $50 to get a free DVD!

ISBN-10: 1590598318

ISBN-13: 9781590598313

Edition: 2007

Authors: Johan Thelin

List price: $54.99
Shipping box This item qualifies for FREE shipping.
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

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 Developmentis 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. And common areas of confusion are identified,…    
Customers also bought

Book details

List price: $54.99
Copyright year: 2007
Publisher: Apress L. P.
Publication date: 8/23/2007
Binding: Paperback
Pages: 528
Size: 7.00" wide x 9.00" long x 1.25" tall
Weight: 1.936
Language: English

Foreword
About the Author
About the Technical Reviewer
Acknowledgments
Getting to Know Qt
The Qt Way of C++
Installing a Qt Development Environment
Installing on Unix Platforms
Installing on Windows
Making C++ "Qt-er"
Inheriting Qt
Using a Qt String
Building a Qt Program
Signals, Slots, and Meta-Objects
Making the Connection
Revisiting the Build Process
Connection to Something New
Collections and Iterators
Iterating the QList
Filling the List
More Lists
Special Lists
Summary
Rapid Application Development Using Qt
The Sketch
Event-Driven Applications
Using Designer
From Designer to Code
The Final Touches
Summary
Widgets and Layouts
Creating Dialogs in Qt
Size Policies
Layouts
Common Widgets
QPushButton
QLabel
QLineEdit
QCheckBox
QRadioButton
QGroupBox
QListWidget
QComboBox
QSpinBox
QSlider
QProgressBar
Common Dialogs
Files
Messages
Even More Dialogs
Validating User Input
Validators
Summary
The Main Window
Windows and Documents
Single Document Interface
Multiple Document Interface
Comparing Single and Multiple Document Interfaces
Application Resources
Resource File
Project File
Application Icon
Dockable Widgets
Summary
The Qt Building Blocks
The Model-View Framework
Showing Data by Using Views
Providing Headers
Limiting Editing
Limiting Selection Behavior
A Single Column List
Creating Custom Views
A Delegate for Drawing
Custom Editing
Creating Your Own Views
Creating Custom Models
A Read-Only Table Model
A Tree of Your Own
Editing the Model
Sorting and Filtering Models
Summary
Creating Widgets
Composing Widgets
Changing and Enhancing Widgets
Catching the Events
Creating Custom Widgets from Scratch
Your Widgets and Designer
Promotion
Providing a Plugin
Summary
Drawing and Printing
Drawing Widgets
The Drawing Operations
Transforming the Reality
Painting Widgets
The Graphics View
Interacting Using a Custom Item
Printing
OpenGL
Summary
Files, Streams, and XML
Working with Paths
Working with Files
Working with Streams
XML
DOM
Reading XML Files with SAX
Files and the Main Window
Summary
Providing Help
Creating Tooltips
Creating HTML-Formatted Tooltips
Inserting Images into Tooltips
Applying Multiple Tooltips to a Widget
Providing What's This Help Tips
Embedding Links into What's This Help Tips
Taking Advantage of the Status Bar
Creating Wizards
Assisting the User
Creating the Help Documentation
Putting It Together
Summary
Internationalization and Localization
Translating an Application
Extracting the Strings
Linguist: A Tool for Translating
Set Up a Translation Object
Qt Strings
Dealing with Other Translation Cases
Find the Missing Strings
Translating on the Fly
Other Considerations
Dealing with Text
Images
Numbers
Dates and Times
Help
Summary
Plugins
Plugin Basics
Extending Qt with Plugins
Creating an ASCII Art Plugin
Extending Your Application Using Plugins
Filtering Images
Merging the Plugin and the Application
A Factory Interface
Non-Qt Plugins
Summary
Doing Things in Parallel
Basic Threading
Building a Simple Threading Application
Synchronizing Safely
Protecting Your Data
Protected Counting
Locking for Reading and Writing
Sharing Resources Among Threads
Getting Stuck
Producers and Consumers
Signaling Across the Thread Barrier
Passing Strings Between Threads
Sending Your Own Types Between Threads
Threads, QObjects, and Rules
Pitfalls when Threading
The User Interface Thread
Working with Processes
Running uic
The Shell and Directions
Summary
Databases
A Quick Introduction to SQL
What Is a Database?
Inserting, Viewing, Modifying, and Deleting Data
More Tables Mean More Power
Counting and Calculating
Qt and Databases
Making the Connection
Querying Data
Establishing Several Connections
Putting It All Together
The Structure of the Application
The User Interface
The Database Class
Putting Everything Together
Model Databases
The Query Model
The Table Model
The Relational Table Model
Summary
Networking
Using the QtNetwork Module
Working with Client Protocols
Creating an FTP Client
Creating an HTTP Client
Sockets
Reliability's Role with UDP and TCP
Servers, Clients, and Peers
Sending Images Using TCP
Broadcasting Pictures Using UDP
Summary
Building Qt Projects
QMake
The QMake Project File
Working with Different Platforms
Building Libraries with QMake
Building Complex Projects with QMake
The CMake Build System
Managing a Simple Application with QMake
Working with Different Platforms
Building Libraries with CMake
Managing Complex Projects with CMake
Summary
Unit Testing
Unit Testing and Qt
The Structure of a Test
Testing Dates
Implementing the Tests
Data-Driven Testing
Testing Widgets
Testing a Spin Box
Driving Widgets with Data
Testing Signals
Testing for Real
The Interface
The Tests
Handling Deviations
Summary
Appendixes
Third-Party Tools
Qt Widgets for Technical Applications: Qwt
wwWidgets
QDevelop
Edyuk
Containers, Types, and Macros
Containers
Sequences
Specialized Containers
Associative Containers
Types
Types by Size
The Variant Type
Macros and Functions
Treating Values
Random Values
Iterating
Index