Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming
- By Mark Summerfield
- Published Oct 18, 2007 by Prentice Hall. Part of the Prentice Hall Open Source Software Development Series series.
- Copyright 2008
- Dimensions: 7x9-1/8
- Pages: 648
- Edition: 1st
- ISBN-10: 0-13-235418-7
- ISBN-13: 978-0-13-235418-9
Register your product to gain access to bonus material or receive a coupon.
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.
- 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
98 of 99 people found the following review helpful
Worth having when time is money,
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
18 of 18 people found the following review helpful
Great text book,
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.
12 of 13 people found the following review helpful
Well-articulated, consistently informative introduction to Python and Qt,
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
› See all 24 customer reviews...
Online Sample Chapter
Table of Contents
Part I: Python Programming
Chapter 1. Data Types and Data Structures 9
Executing Python Code 10
Variables and Objects 12
Numbers and Strings 15
Built-in Functions 37
Chapter 2. Control Structures 45
Conditional Branching 46
Exception Handling 66
Chapter 3. Classes and Modules 75
Creating Instances 77
Methods and Special Methods 79
Inheritance and Polymorphism 99
Modules and Multifile Applications 104
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
Chapter 5. Dialogs 139
Dumb Dialogs 141
Standard Dialogs 147
Smart Dialogs 154
Chapter 6. Main Windows 165
Creating a Main Window 166
Handling User Actions 190
Chapter 7. Using Qt Designer 205
Designing User Interfaces 208
Implementing Dialogs 216
Testing Dialogs 221
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
Part III: Intermediate GUI Programming
Chapter 9. Layouts and Multiple Documents 269
Layout Policies 270
Tab Widgets and Stacked Widgets 272
Single Document Interface(SDI) 283
Multiple Document Interface(MDI) 290
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
Chapter 11. Custom Widgets 321
Using Widget Style Sheets 322
Creating Composite Widgets 325
Subclassing Built-in Widgets 326
Subclassing QWidget 328
Chapter 12. Item-Based Graphics 349
Custom and Interactive Graphics Items 351
Animation and Complex Shapes 368
Chapter 13. Rich Text and Printing 381
Rich Text Editing 382
Printing Documents 398
Chapter 14. Model/View Programming 413
Using the Convenience Item Widgets 415
Creating Custom Models 423
Creating Custom Delegates 436
Chapter 15. Databases 445
Connecting to the Database 446
Executing SQL Queries 446
Using Database Form Views 451
Using Database Table Views 457
Part IV: Advanced GUI Programming
Chapter 16. Advanced Model/View Programming 475
Custom Views 476
Generic Delegates 483
Representing Tabular Data in Trees 492
Chapter 17. Online Help and Internationalization 509
Online Help 510
Chapter 18. Networking 521
Creating a TCP Client 523
Creating a TCP Server 529
Chapter 19. Multithreading 537
Creating a Threaded Server 539
Creating and Managing Secondary Threads 544
Implementing a Secondary Thread 552
This Is Not Quite the End 559
Appendix A. Installing 561
Appendix B. Selected PyQt Widgets 575
Appendix C. Selected PyQt Class Hierarchies 581
Downloadable Sample Chapter
Book + eBook Bundle
Book Price $47.99
eBook Price $16.80
eBook formats included
This book includes free shipping!
This book includes free shipping!
Includes EPUB, MOBI, and PDF
About eBook Formats
This eBook includes the following formats, accessible from your Account page after purchase:
EPUBThe open industry format known for its reflowable content and usability on supported mobile devices.
MOBIThe eBook format compatible with the Amazon Kindle and Amazon Kindle applications.
PDFThe 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.
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.