Home > Store

larger cover

Add To My Wish List

Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming

Register your product to gain access to bonus material or receive a coupon.

  • Description
  • Extras
  • Reviews
  • Sample Content

Product Author Bios

Mark Summerfield works as an independent trainer and consultant specializing in C++, Qt, Python, and PyQt. He was Trolltech’s documentation manager from 2000 to 2004, was the founding editor of Qt Quarterly, Trolltech’s customer newsletter, and coauthored C++ GUI Programming with Qt 3 and C++ GUI Programming with Qt 4.

The Insider's Best-Practice Guide to Rapid PyQt 4 GUI Development

Whether you're building GUI prototypes or full-fledged cross-platform GUI applications with native look-and-feel, PyQt 4 is your fastest, easiest, most powerful solution. Qt expert Mark Summerfield has written the definitive best-practice guide to PyQt 4 development.

With Rapid GUI Programming with Python and Qt you'll learn how to build efficient GUI applications that run on all major operating systems, including Windows, Mac OS X, Linux, and many versions of Unix, using the same source code for all of them. Summerfield systematically introduces every core GUI development technique: from dialogs and windows to data handling; from events to printing; and more. Through the book's realistic examples you'll discover a completely new PyQt 4-based programming approach, as well as coverage of many new topics, from PyQt 4's rich text engine to advanced model/view and graphics/view programming. Every key concept is illuminated with realistic, downloadable examples—all tested on Windows, Mac OS X, and Linux with Python 2.5, Qt 4.2, and PyQt 4.2, and on Windows and Linux with Qt 4.3 and PyQt 4.3.

Coverge includes

  • Python basics for every PyQt developer: data types, data structures, control structures, classes, modules, and more
  • Core PyQt GUI programming techniques: dialogs, main windows, and custom file formats
  • Using Qt Designer to design user interfaces, and to implement and test dialogs, events, the Clipboard, and drag-and-drop
  • Building custom widgets: Widget Style Sheets, composite widgets, subclassing, and more
  • Making the most of Qt 4.2's new graphics/view architecture
  • Connecting to databases, executing SQL queries, and using form and table views
  • Advanced model/view programming: custom views, generic delegates, and more
  • Implementing online help, internationalizing applications, and using PyQt's networking and multithreading facilities

Customer Reviews

98 of 99 people found the following review helpful
4.0 out of 5 stars Worth having when time is money, December 7, 2007
By 
The Conductor (Upstate, NY USA) - See all my reviews
Amazon Verified Purchase(What's this?)
This review is from: Rapid GUI Programming with Python and Qt (Prentice Hall Open Source Software Development) (Hardcover)
For any open source programming tool, there are always those who are quick to point out that free online documentation is of excellent quality and that a commercially published book adds questionable value. Indeed, the open process by which open source tools are made, which reveals the why's & wherefore's of the internal workings to anyone who looks, leads directly to the production of excellent online documentation; this is one of the great strengths of open source software. But everyone's needs are different. A college student or free software volunteer often has looser deadlines, less budget, and a more perfectionist attitude than, for example, a non-expert programmer, working in industry, trying to expeditiously solve a specific problem. A book of this genre is intended mainly for the latter audience, whereas the former may be disappointed at spending $50 when a web browser could have done the job. Cash-strapped college students, I know your pain; I used to be one. This book... Read more
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


18 of 18 people found the following review helpful
4.0 out of 5 stars Great text book, October 3, 2008
By 
Brian H. Wilson (Corvallis, OR USA) - See all my reviews
(REAL NAME)   
Amazon Verified Purchase(What's this?)
This review is from: Rapid GUI Programming with Python and Qt (Prentice Hall Open Source Software Development) (Hardcover)
I needed a book to help me through connecting Python and QT together so that I could write GUI programs in Python. This book definitely did that for me so I am satisfied.

This book is written as a classroom textbook, not as a reference. Part I is on Python programming (the first 100 of 500+ pages). I did not need that but in the context of a textbook it's good to have everything between two covers.

I like the fact that it covers a broad range of material beyond GUI programming including database access and model/view programming. I think I will be digging into it for quite some time.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


12 of 13 people found the following review helpful
4.0 out of 5 stars Well-articulated, consistently informative introduction to Python and Qt, October 11, 2009
By 
Hugo M. M. Rabson (Anchorage, AK) - See all my reviews
(REAL NAME)   
Amazon Verified Purchase(What's this?)
This review is from: Rapid GUI Programming with Python and Qt (Prentice Hall Open Source Software Development) (Hardcover)
I bought "Rapid GUI Programming with Python and Qt" (Summerfield) and "Programming Python" (Lutz) in order to help me write my first Python software application, a program whose development would require an understanding of Python, Qt, PyQt, and relational databases. I found Summerfield's book very useful.

The first few chapters brought me up to speed on Python itself. The chapters which dealt with PyQt were of course the most detailed and the most useful. I found myself getting frustrated with the "Dance of the Seven Veils": the book would touch on a topic briefly, explain how important it was, give an example, then hurry away to cover something else. By the time we got to the meaty, more thoroughly-explored examples, I was confused and slightly lost. Google filled in the gaps, so in the end it was all worth it.

In defense of this book's "A little bit of everything" style, I must point out that a toolkit of Qt's size and complexity cannot be covered thoroughly... Read more
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


Share your thoughts with other customers:
 See all 24 customer reviews...

Online Sample Chapter

Introduction to GUI Programming with Python and Qt

Table of Contents

Foreword xiii

Introduction 1

Part I: Python Programming

Chapter 1. Data Types and Data Structures 9

Executing Python Code 10

Variables and Objects 12

Numbers and Strings 15

Collections 29

Built-in Functions 37

Summary 41

Exercises 42

Chapter 2. Control Structures 45

Conditional Branching 46

Looping 49

Functions 55

Exception Handling 66

Summary 72

Exercises 72

Chapter 3. Classes and Modules 75

Creating Instances 77

Methods and Special Methods 79

Inheritance and Polymorphism 99

Modules and Multifile Applications 104

Summary 107

Exercises 108

Part II: Basic GUI Programming

Chapter 4. Introduction to GUI Programming 111

A Pop-Up Alert in 25 Lines 112

An Expression Evaluator in 30 Lines 116

A Currency Converter in 70 Lines 121

Signals and Slots 127

Summary 136

Exercise 137

Chapter 5. Dialogs 139

Dumb Dialogs 141

Standard Dialogs 147

Smart Dialogs 154

Summary 162

Exercise 163

Chapter 6. Main Windows 165

Creating a Main Window 166

Handling User Actions 190

Summary 201

Exercise 202

Chapter 7. Using Qt Designer 205

Designing User Interfaces 208

Implementing Dialogs 216

Testing Dialogs 221

Summary 223

Exercise 224

Chapter 8. Data Handling and Custom File Formats 227

Main Window Responsibilities 229

Data Container Responsibilities 235

Saving and Loading Binary Files 240

Saving and Loading Text Files 249

Saving and Loading XML Files 256

Summary 265

Exercise 266

Part III: Intermediate GUI Programming

Chapter 9. Layouts and Multiple Documents 269

Layout Policies 270

Tab Widgets and Stacked Widgets 272

Splitters 280

Single Document Interface(SDI) 283

Multiple Document Interface(MDI) 290

Summary 300

Exercise 301

Chapter 10. Events, the Clipboard, and Drag and Drop 303

The Event-Handling Mechanism 303

Reimplementing Event Handlers 305

Using the Clipboard 310

Drag and Drop 312

Summary 317

Exercise 318

Chapter 11. Custom Widgets 321

Using Widget Style Sheets 322

Creating Composite Widgets 325

Subclassing Built-in Widgets 326

Subclassing QWidget 328

Summary 345

Exercise 346

Chapter 12. Item-Based Graphics 349

Custom and Interactive Graphics Items 351

Animation and Complex Shapes 368

Summary 378

Exercise 379

Chapter 13. Rich Text and Printing 381

Rich Text Editing 382

Printing Documents 398

Summary 411

Exercise 412

Chapter 14. Model/View Programming 413

Using the Convenience Item Widgets 415

Creating Custom Models 423

Creating Custom Delegates 436

Summary 442

Exercise 443

Chapter 15. Databases 445

Connecting to the Database 446

Executing SQL Queries 446

Using Database Form Views 451

Using Database Table Views 457

Summary 470

Exercise 471

Part IV: Advanced GUI Programming

Chapter 16. Advanced Model/View Programming 475

Custom Views 476

Generic Delegates 483

Representing Tabular Data in Trees 492

Summary 505

Exercise 505

Chapter 17. Online Help and Internationalization 509

Online Help 510

Internationalization 512

Summary 519

Exercise 520

Chapter 18. Networking 521

Creating a TCP Client 523

Creating a TCP Server 529

Summary 534

Exercise 534

Chapter 19. Multithreading 537

Creating a Threaded Server 539

Creating and Managing Secondary Threads 544

Implementing a Secondary Thread 552

Summary 557

Exercise 558

This Is Not Quite the End 559

Appendix A. Installing 561

Appendix B. Selected PyQt Widgets 575

Appendix C. Selected PyQt Class Hierarchies 581

Index 585

Downloadable Sample Chapter

Download the chapter

Foreword

Download the foreword

Index

Download the index

Introduction

Download the introduction

 
Best Value

Book + eBook Bundle  $107.98  $64.79

Book Price $47.99
eBook Price $16.80
eBook formats included

Buy

This book includes free shipping!

Buy

Book  $59.99  $47.99

Usually ships in 24 hours.

This book includes free shipping!

Buy

eBook (Watermarked)  $47.99  $38.39

Includes EPUB, MOBI, and PDF
About eBook Formats

This eBook includes the following formats, accessible from your Account page after purchase:

ePubEPUBThe open industry format known for its reflowable content and usability on supported mobile devices.

MOBIMOBIThe eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

Adobe ReaderPDFThe popular standard, used most often with the free Adobe® Reader® software.

This eBook requires no passwords or activation to read. We customize your eBook by discretely watermarking it with your name, making it uniquely yours.

Purchase Reward: One Month Free Subscription
By completing any purchase on InformIT, you become eligible for an unlimited access one-month subscription to Safari Books Online.

Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.