Programming with Qt: Writing Portable GUI applications on Unix and Win32

Programming with Qt: Writing Portable GUI applications on Unix and Win32

by Matthias Dalheimer
Programming with Qt: Writing Portable GUI applications on Unix and Win32

Programming with Qt: Writing Portable GUI applications on Unix and Win32

by Matthias Dalheimer

Paperback(Second Edition)

$44.99 
  • SHIP THIS ITEM
    Qualifies for Free Shipping
  • PICK UP IN STORE
    Check Availability at Nearby Stores

Related collections and offers


Overview

The popular open source KDE desktop environment for Unix was built with Qt, a C++ class library for writing GUI applications that run on Unix, Linux, Windows 95/98, Windows 2000, and Windows NT platforms. Qt emulates the look and feel of Motif, but is much easier to use. Best of all, after you have written an application with Qt, all you have to do is recompile it to have a version that works on Windows. Qt also emulates the look and feel of Windows, so your users get native-looking interfaces. Platform independence is not the only benefit. Qt is flexible and highly optimized. You'll find that you need to write very little, if any, platform-dependent code because Qt already has what you need. And Qt is free for open source and Linux development. Although programming with Qt is straightforward and feels natural once you get the hang of it, the learning curve can be steep. Qt comes with excellent reference documentation, but beginners often find the included tutorial is not enough to really get started with Qt. That's where Programming with Qt steps in. You'll learn how to program in Qt as the book guides you through the steps of writing a simple paint application. Exercises with fully worked out answers help you deepen your understanding of the topics. The book presents all of the GUI elements in Qt, along with advice about when and how to use them, so you can make full use of the toolkit. For seasoned Qt programmers, there's also lots of information on advanced 2D transformations, drag-and-drop, writing custom image file filters, networking with the new Qt Network Extension, XML processing, Unicode handling, and more. Programming with Qt helps you get the most out of this powerful, easy-to-use, cross-platform toolkit. It's been completely updated for Qt Version 3.0 and includes entirely new information on rich text, Unicode/double byte characters, internationalization, and network programming.

Product Details

ISBN-13: 9780596000646
Publisher: O'Reilly Media, Incorporated
Publication date: 01/29/2002
Edition description: Second Edition
Pages: 520
Product dimensions: 7.00(w) x 9.19(h) x 1.10(d)

About the Author

Matthias Kalle Dalheimer is the President & CEO of Klaralvdalens Datakonsult AB, a Sweden-based consultancy specializing in platform-independent software solutions. He is also a founding member of the KDE project and the current president of the KDE foundation. Kalle has written numerous books for O'Reilly, both in English and in his native German, including "Running Linux" and "Programming with Qt". In his spare time, he enjoys cross-country skiing and reading history books. Kalle lives with his wife Tanja and his two sons Jan and Tim in the middle of the forest near Hagfors in the Swedish province of Varmland.

Table of Contents

Preface; A Productive Weekend; What You Should Know; Organization of This Book; Conventions Used in This Book; Comments and Questions; Acknowledgments; Chapter 1: Introduction; 1.1 Why GUI Toolkits?; 1.2 Why Portability?; 1.3 Why Qt?; 1.4 Implementing Cross-Platform GUI Libraries; 1.5 Acquiring Qt; 1.6 Compiling and Installing Qt; 1.7 C++ as Used by Qt; 1.8 Getting Help; Chapter 2: First Steps in Qt Programming; 2.1 Hello, world!; 2.2 Using the Qt Reference Documentation; 2.3 Adding an Exit Button; 2.4 Introduction to Signals and Slots; 2.5 Event Handling and Simple Drawings with QPainter; Chapter 3: Learning More About Qt; 3.1 Adding Menus; 3.2 Adding a Scrolled View; 3.3 Adding a Context Menu; 3.4 File I/O; Chapter 4: A Guided Tour Through the Simple Widgets; 4.1 General Widget Parameters; 4.2 Widget Styles; 4.3 Buttons; 4.4 Selection Widgets; 4.5 Widgets for Bounded-Range Input; 4.6 Scrollbars; 4.7 Menu-Related Widgets; 4.8 Arrangers; 4.9 Tab-Related Widgets; 4.10 Text-Entry Fields; 4.11 Labels; 4.12 Widgets for the Office; 4.13 Progress Bars; 4.14 Scrolled Views; 4.15 List Views; 4.16 Icon Views; 4.17 Widgets for Tabular Material; 4.18 Widgets for Displaying Rich Text; Chapter 5: A Guided Tour Through the Qt Dialog Boxes; 5.1 Predefined Dialog Boxes; 5.2 Building Blocks for Your Own Dialog Boxes; Chapter 6: Using Layout Managers; 6.1 Layout Manager Basics; 6.2 Laying Out Widgets in Rows and Columns; 6.3 Nested Layout Managers; 6.4 Grid Layout; 6.5 Implicit Geometry Management; Chapter 7: Some Thoughts on GUI Design; Chapter 8: Container Classes; 8.1 Available Container Classes; 8.2 Choosing a Container Class; 8.3 Working with Reference-Based Container Classes; 8.4 Working with Value-Based Container Classes; Chapter 9: Graphics; 9.1 Animations; 9.2 Printing; 9.3 Managing Colors; 9.4 Basic QPainter: Drawing Figures; 9.5 Advanced QPainter; 9.6 Double-Buffering and Other Nifty Techniques; 9.7 Independently Movable Objects with QCanvas; 9.8 Working with Styles; 9.9 Loading and Saving Custom Image Formats; 9.10 Setting a Cursor; Chapter 10: Text Processing; 10.1 Internationalization and Localization of On-Screen Text; 10.2 Validating User Input; 10.3 Working with Regular Expressions; 10.4 Reading and Writing XML Files; 10.5 Rich Text; Chapter 11: Working with Files and Directories; 11.1 Reading a Text File; 11.2 Traversing a Directory; 11.3 File Information; 11.4 Reading and Writing Configuration Data; Chapter 12: Interapplication Communication; 12.1 Using the Clipboard; 12.2 Drag-and-Drop; Chapter 13: Interfacing with the Operating System; 13.1 Working with Date and Time Values; 13.2 Loading Code Libraries Dynamically; 13.3 Spawning Child Processes; 13.4 Playing Sounds; Chapter 14: Writing Your Own Widgets; 14.1 Implementing a Coordinate Selector; 14.2 Implementing a Browse Box; Chapter 15: Focus Handling; Chapter 16: Advanced Event Handling; 16.1 Event Filters; 16.2 Sending Synthetic Events; Chapter 17: Advanced Signals and Slots; 17.1 Signals and Slots Revisited; 17.2 Connecting Several Buttons to One Slot; 17.3 Actions; Chapter 18: Providing Help; Chapter 19: Accessing Databases; 19.1 Installation of the SQL Module; 19.2 Connecting to a Database; 19.3 Simple Data Retrieval; 19.4 Data Retrieval with Cursors; 19.5 Data Display; 19.6 Data Manipulation; 19.7 Anything Else?; Chapter 20: Multithreading; 20.1 Configuring Qt for Multithreading; 20.2 Using Qt’s Multithreading Classes; 20.3 Multithreading Pitfalls; 20.4 Alternatives to Multithreading; Chapter 21: Debugging; Chapter 22: Portability; 22.1 Why Portability Is Desirable; 22.2 How to Write Portable Programs; 22.3 Danger Ahead: When Even Qt Is Not Portable; 22.4 Building Projects Portably with qmake; Chapter 23: Qt Network Programming; 23.1 Low-Level Socket Access; 23.2 Higher-Level Network Access; Chapter 24: Interfacing Qt with Other Languages and Libraries; 24.1 OpenGL Programming with Qt; 24.2 Writing Netscape Plug-ins; 24.3 Integrating Xt Widgets; 24.4 Interfacing Qt with Perl; Chapter 25: Using the Visual C++ IDE for Qt Programs; 25.1 Importing an Existing Makefile; 25.2 Creating Your Own Project from Scratch; 25.3 Using qmake to Create a Project File; 25.4 Using the MS Visual Studio Integration; Chapter 26: Visual Design with Qt Designer; 26.1 Why Do You Need A GUI Designer?; 26.2 Creating a Simple Application with the Help of Qt Designer; 26.3 Adding Functionality to a Dialog Box by Subclassing; 26.4 Using Layout Management; 26.5 Useful Techniques; Answers to Exercises; Answers to Exercises in Chapter 2; Answers to Exercises in Chapter 3; Colophon;
From the B&N Reads Blog

Customer Reviews