0% found this document useful (0 votes)
41 views7 pages

Rapid Gui Programming With Python and QT: The Definitive Guide To Pyqt Programming

Rapid GUI Programming with Python and Qt provides a definitive guide to PyQt programming with three main points: 1) It teaches Python programming and GUI creation using Qt and PyQt. The book covers Python data types, control structures, classes and modules, basic GUI programming elements like dialogs and main windows, and intermediate topics like layouts, events and custom widgets. 2) It presents example programs throughout to demonstrate key PyQt concepts and techniques, such as creating a currency converter, handling user actions in a main window, and implementing drag and drop. 3) The book also covers advanced PyQt topics in its later chapters, including model/view programming, rich text editing, databases, graphics, printing, and custom delegates
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views7 pages

Rapid Gui Programming With Python and QT: The Definitive Guide To Pyqt Programming

Rapid GUI Programming with Python and Qt provides a definitive guide to PyQt programming with three main points: 1) It teaches Python programming and GUI creation using Qt and PyQt. The book covers Python data types, control structures, classes and modules, basic GUI programming elements like dialogs and main windows, and intermediate topics like layouts, events and custom widgets. 2) It presents example programs throughout to demonstrate key PyQt concepts and techniques, such as creating a currency converter, handling user actions in a main window, and implementing drag and drop. 3) The book also covers advanced PyQt topics in its later chapters, including model/view programming, rich text editing, databases, graphics, printing, and custom delegates
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Rapid GUI Programming

with Python and Qt

The Definitive Guide to PyQt Programming

Mark Summerfield

••.••
Upper Saddle River, NJ • Boston • Indianapolis • San Francisco
• •
New York • Toronto • Montreal • London • Munich • Paris • Madrid
PRENTICE
HALL Capetown • Sydney • Tokyo • Singapore • Mexico City
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
Integers and Long Integers 16
Floats and Decimals 17
Bytestrings, Unicode Strings, and QStrings 20
Collections 29
Tuples 29
Lists 31
Dictionaries 35
Sets 37
Built-in Functions 37
Summary 41
Exercises 42

Chapter 2. Control Structures 45


Conditional Branching 46
Looping 49
List Comprehensions and Generators 53
Functions 55
Generator Functions 58
Using Keyword Arguments 59
Lambda Functions 61
Dynamic Function Creation 62
Partial Function Application 63
Exception Handling 66

vii
Summary 72
Exercises 72

Chapter 3. Classes and Modules 75


Creating Instances 77
Methods and Special Methods 79
Static Data, and Static Methods and Decorators 85
Example: The Length Class 86
Collection Classes 92
Example: The OrderedDict Class 92
Inheritance and Polymorphism 99
Modules and Multifile Applications 104
Using the doctest Module 105
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
Modal OK/Cancel-Style Dialogs 148
Smart Dialogs 154
Modeless Apply/Close-Style Dialogs 155
Modeless "Live" Dialogs 159
Summary 162
Exercise 163

Chapter 6. Main Windows 165


Creating a Main Window 166
Actions and Key Sequences 171
Resource Files 172

viii
Creating and Using Actions 174
Restoring and Saving the Main Window's State 181
Handling User Actions 190
Handling File Actions 191
Handling Edit Actions 197
Handling Help Actions 200
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
Writing and Reading Using QDataStream 240
Writing and Reading Using the pickle Module 246
Saving and Loading Text Files 249
Writing and Reading Using QTextStream 250
Writing and Reading Using the codecs Module 255
Saving and Loading XML Files 256
Writing XML 256
Reading and Parsing XML with PyQt's DOM Classes 259
Reading and Parsing XML with PyQt's SAX Classes 262
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
Extension Dialogs 276
Splitters 280
Single Document Interface (SDI) 283

ix
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
Handling Custom Data 313
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
Example: A Fraction Slider 331
Example: A Flow-Mixing Widget 339
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
Using QSyntaxHighlighter 382
A Rich Text Line Edit 389
Printing Documents 398
Printing Images 400
Printing Documents Using HTML and QTextDocument 401
Printing Documents Using QTextCursor and QTextDocument 403
Printing Documents Using QPainter 407
Summary 411
Exercise 412

x
Chapter 14. Model/View Programming 413
Using the Convenience Item Widgets 415
Creating Custom Models 423
Implementing the View Logic 424
Implementing the Custom Model 427
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

xi
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


Installing on Windows 561
Installing on Mac OS X 566
Installing on Linux and Unix 570

Appendix B. Selected PyQt Widgets 575

Appendix C. Selected PyQt Class Hierarchies 581

Index 585

xii

You might also like