Rapid GUI Programming with Python and Qt (Hardcover)

Mark Summerfield

買這商品的人也買了...

商品描述

Description

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

 

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


商品描述(中文翻譯)

描述

無論您是建立GUI原型還是具有本地外觀和感覺的全功能跨平台GUI應用程序,PyQt 4都是您最快、最簡單、最強大的解決方案。Qt專家Mark Summerfield撰寫了PyQt 4開發的最佳實踐指南。

通過《使用Python和Qt進行快速GUI編程》,您將學習如何構建高效運行於所有主要操作系統(包括Windows、Mac OS X、Linux和許多版本的Unix)的GUI應用程序,並使用相同的源代碼。Summerfield系統地介紹了每一個核心GUI開發技術:從對話框和窗口到數據處理;從事件到打印等等。通過本書的實際例子,您將發現一種全新的基於PyQt 4的編程方法,以及對許多新主題的涵蓋,從PyQt 4的豐富文本引擎到高級模型/視圖和圖形/視圖編程。每個關鍵概念都有實際的可下載示例,並在Windows、Mac OS X和Linux上使用Python 2.5、Qt 4.2和PyQt 4.2進行測試,以及在Windows和Linux上使用Qt 4.3和PyQt 4.3進行測試。

內容包括:

- 每個PyQt開發者的Python基礎知識:數據類型、數據結構、控制結構、類、模塊等等
- 核心PyQt GUI編程技術:對話框、主窗口和自定義文件格式
- 使用Qt Designer設計用戶界面,實現和測試對話框、事件、剪貼板和拖放
- 構建自定義小部件:小部件樣式表、組合小部件、子類化等等
- 充分利用Qt 4.2的新圖形/視圖架構
- 連接到數據庫,執行SQL查詢,使用表單和表格視圖
- 高級模型/視圖編程:自定義視圖、通用委派等等
- 實現在線幫助,國際化應用程序,使用PyQt的網絡和多線程功能

目錄

- 前言
- 簡介
- 第一部分:Python編程
- 第1章:數據類型和數據結構
- 執行Python代碼
- 變量和對象
- 數字和字符串
- ...