Rapid GUI Programming with Python and Qt (Hardcover)
暫譯: 使用 Python 和 Qt 快速開發 GUI 程式設計 (精裝版)

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 程式設計》,您將學會如何建立高效的 GUI 應用程式,這些應用程式可以在所有主要作業系統上運行,包括 Windows、Mac OS X、Linux 和許多版本的 Unix,並使用相同的源代碼。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 的網絡和多線程功能

**目錄**

前言 xiii
介紹 1
第一部分:Python 程式設計
第 1 章 數據類型和數據結構 9
執行 Python 代碼 10
變數和對象 12
數字和字符串 15
集合 29
內建函數 37
總結 41
練習 42
第 2 章 控制結構 45
條件分支 46
循環 49
函數 55
異常處理 66
總結 72
練習 72
第 3 章 類別和模組 75
創建實例 77
方法和特殊方法 79
繼承和多型 99
模組和多文件應用程式 104
總結 107
練習 108
第二部分:基本 GUI 程式設計
第 4 章 GUI 程式設計簡介 111
25 行的彈出警報 112
30 行的表達式計算器 116
70 行的貨幣轉換器 121
信號和插槽 127
總結 136
練習 137
第 5 章 對話框 139
簡單對話框 141
標準對話框 147
智能對話框 154
總結 162
練習 163
第 6 章 主視窗 165
創建主視窗 166
處理用戶操作 190
總結 201
練習 202
第 7 章 使用 Qt Designer 205
設計用戶界面 208
實現對話框 216
測試對話框 221
總結 223
練習 224
第 8 章 數據處理和自定義文件格式 227
主視窗的責任 229
數據容器的責任 235
保存和加載二進制文件 240
保存和加載文本文件 249
保存和加載 XML 文件 256
總結 265
練習 266
第三部分:進階 GUI 程式設計
第 9 章 佈局和多文檔 269
佈局政策 270
選項卡小部件和堆疊小部件 272
分隔器 280
單文檔介面 (SDI) 283
多文檔介面 (MDI) 290
總結 300
練習 301
第 10 章 事件、剪貼簿和拖放 303