描述
本書特色、內容簡介
這是國內第一本使用Python內建模組tkinter,設計GUI程式中文書籍的第3版。全書超過310個程式實例,一步一步講解tkinter 控件(Widget)的基礎知識,同時也將應用範圍擴充至小算盤、碎形(Fractal)設計、文書編輯、走馬燈、模擬海龜繪圖、球類競賽、風扇設計、單個或多個反彈球設計、鐘擺、長條圖動態排序、動畫與遊戲設計。Python是一門可以很靈活使用的程式語言,本書特色在於對tkinter最基礎的知識使用了大量靈活的實例說明各種環境的應用方法,讀者可以由這些程式實例事半功倍完成學會tkinter設計跨平台的視窗程式。
內容簡介
第三版新增內容
- 科赫雪花碎形設計
- 多圖檔的標籤應用
- 鐘擺程式設計
- 偵測兩圓是否相交或重疊
- 偵測滑鼠是否在圈圈內
主要內容
- 310個完整程式實例
- tkinter與ttk Widget解說
- Widget共通屬性與方法
- 碎形(Fractal)設計
- 變數類別Variable Classes
- 事件綁定Events and Binds
- 小算盤與文書編輯程式
- 動畫遊戲設計
- 走馬燈設計
- 模擬海龜繪圖
- 球類競賽、風扇設計
- 單個或多個反彈球設計
- 建立長條圖與動態排序
前言
序
2019 年 6 月筆者出版了市面上第一本 Python GUI 設計使用 tkinter 火力加強版的 中文圖書,很快該書就已經完銷,本書基本上是該書籍的新版,在這個版本除了修訂 文字的錯誤,另外增加許多程式,讓整個 GUI 的設計實例更加完善,讀者可以獲得更好的參考,新增程式主要內容如下:
■ 柯赫雪花碎形設計
■ 多圖檔的標籤應用
■ 鐘擺程式設計
■ 偵測兩圓是否相交或重疊
■ 偵測滑鼠是否在圈圈內
筆者在 2019 年 8 月出版了「Python 最強入門邁向頂尖高手之路王者歸來」,從上市到現在,連續幾個月皆是台灣 Python 領域最暢銷的書籍之一。該書厚度約 1048 頁,雖然是當時 Python 圖書講解內容最豐富、應用最廣泛的圖書,但受限於篇幅,筆者深知該書仍無法涵蓋所有Python的應用,特別是在GUI設計部份筆者只是初淺解說。 在 Python 應用程式內有內附 tkinter 模組,這個模組主要是設計使用者圖形介面 (GUI, Graphical User Interface),可以用它設計跨平台的視窗應用程式,程式設計師可 以使用此模組的控件 (Widget) 設計圖形介面讓使用者可以和電腦做溝通。tkinter 模組 簡單好用,但是目前卻沒有一本書籍將這個模組做一個完整的功能介紹,這也是筆者 決定撰寫本書的動力。
本書基本上不對 Python 語法做介紹,所以讀者需有 Python 知識才適合閱讀本書, 如果讀者未有 Python 觀念,建議讀者可以先閱讀筆者所著下列書籍,相信必可以建立 完整的 Python 知識。
本書以約 310 個程式實例講解下列知識:
■ Python tkinter Widget 解說
■ Python tkinter.ttk Widget 解說
■ Widget 共通屬性
■ Widget 共通方法
■ 變數類別 Variable Classes
■ 事件與綁定 Events and Binds
■ 計算器 (Calculator) 設計
■ 文書編輯程式 (Editor) 設計
■ 動畫遊戲設計
■ 謝爾賓斯基三角形、遞迴樹、科赫雪花等碎形 (Fractal) 設計
■ 走馬燈設計
■ 模擬海龜繪圖
■ 球類競賽
■ 風扇設計
■ 單個或多個反彈球設計
■ 鐘擺與旋轉鐘擺設計
■ 建立長條圖與動態排序
寫過許多的電腦書,本書沿襲筆者著作的特色,程式實例豐富,相信讀者只要遵 循本書內容必定可以在最短時間精通視窗程式設計,編著本書雖力求完美,但是學經 歷不足,謬誤難免,尚祈讀者不吝指正。
洪錦魁 2020-02-01
圖書資源說明
本書籍所有程式實例可以在深智公司網站下載,密碼是:9789865501198
關於作者
洪錦魁
一位誇越電腦作業系統與科技時代的電腦專家,著作等身的作家。
■ DOS 時代他的代表作品是 IBM PC 組合語言、C、C++、Pascal、資料結構。
■ Windows 時代他的代表作品是 Windows Programming 使用 C、Visual Basic。
■ Internet 時代他的代表作品是網頁設計使用 HTML。
■ 大數據時代他的代表作品是 R 語言邁向 Big Data 之路。
除了作品被翻譯為簡體中文、馬來西亞文外,2000 年作品更被翻譯為Mastering HTML 英文版行銷美國。
近年來作品則是在北京清華大學和台灣深智同步發行:
1:Java 入門邁向高手之路王者歸來
2:Python 最強入門邁向頂尖高手之路王者歸來
3:Python 網路爬蟲:大數據擷取、清洗、儲存與分析王者歸來
4:HTML5 + CSS3 王者歸來
5:R 語言邁向Big Data 之路
他的近期著作分別登上天瓏及博客來電腦書類暢銷排行榜第一名,他的書著作最大的特色是,所有程式語法會依特性分類,同時以實用的程式範例做解說,讓整本書淺顯易懂,讀者可以由他的著作事半功倍輕鬆掌握相關知識。
目錄
第一章 基本觀念
1-1 認識 GUI 和 tkinter
1-2 建立視窗
1-3 視窗屬性的設定
1-4 視窗位置的設定
1-5 認識 tkinter 的 Widget
1-6 Widget 的共通屬性
- Widget 的共通方法
第二章 標籤 Label
2-1 標籤 Label 的基本應用
2-2 Widget 共通屬性 - Color 顏色
2-3 Widget 的共通屬性 – Dimensions 大小
2-4 Widget 的共通屬性 – 錨 Anchor
2-5 Label 文字輸出換行位置 wraplength
2-6 Widget 的共通屬性 – 字型 Font
2-7 Label 的 justify 參數
2-8 Widget 的共通屬性 Bitmaps
2-9 compound 參數
2-10 Widget 的共通屬性 Relief style
2-11 標籤文字與標籤區間的間距 padx/pady
2-12 影像 PhotoImage
2-13 Widget 的共通方法 config( )
2-14 Widget 的共通屬性 Cursors
2-15 Widget 的共通方法 keys( )
2-16 分隔線 Separator
第三章 視窗控件配置管理員
3-1 視窗控件配置管理員 Widget Layout Manager
3-2 pack 方法
3-3 grid 方法
3-4 place 方法
3-5 Widget 控件位置的總結
第四章 功能鈕 Button
4-1 功能鈕基本觀念
4-2 使用 lambda 表達式的好時機
4-3 建立含影像的功能鈕
4-4 簡易計算器按鈕佈局的應用
- 設計滑鼠游標在功能鈕的外形
第五章 文字方塊 Entry
5-1 文字方塊 Entry 的基本觀念
5-2 使用 show 參數隱藏輸入的字元
5-3 Entry 的 get( ) 方法
5-4 Entry 的 insert( ) 方法
5-5 Entry 的 delete( ) 方法
- 計算數學表達式使用 eval( )
第六章 變數類別
6-1 變數類別的基本觀念
6-2 get( ) 與 set( )
6-3 追蹤 trace( ) 使用模式 w
6-4 追蹤 trace( ) 使用模式 r
6-5 再看 trace( ) 方法呼叫的 callback 方法參數
6-6 計算器的設計
6-7 貸款程式設計
第七章 選項鈕與核取方塊
7-1 Radio buttons 選項鈕
7-2 Checkboxes 核取方塊
- 簡單編輯程式的應用
第八章 容器控件
8-1 框架 Frame
8-2 標籤框架 LabelFrame
8-3 頂層視窗 Toplevel
8-4 框架專題實作
第九章 與數字有關的 Widget
9-1 Scale 的數值輸入控制
- Spinbox 控件
第十章 Message 與 Messagebox
10-1 Message
10-2 Messagebox
第十一章 事件 (Events) 和綁定 (Bindings)
11-1 Widget 的 command 參數
11-2 事件綁定 Binding events
11-3 取消綁定 Unbinding events
11-4 一個事件綁定多個事件處理程式
11-5 Protocols
第十二章 表單 Listbox 與捲軸 Scrollbar
12-1 建立表單
12-2 建立表單項目 insert( )
12-3 Listbox 的基本操作
12-4 Listbox 與事件綁定
12-5 活用加入和刪除項目
12-6 Listbox 項目的排序
12-7 拖曳 Listbox 的項目
12-8 捲軸的設計
第十三章 OptionMenu 與 Combobox
13-1 下拉式表單 OptionMenu
13-2 組合框 Combobox
第十四章 容器 PanedWindow 和 Notebook
14-1 PanedWindow
14-2 Notebook
第十五章 進度條 Progressbar
15-1 Progressbar 的基本應用
15-2 Progressbar 動畫設計
15-3 Progressbar 的方法 start( )/step( )/stop( )
15-4 mode=indeterminate 模式
第十六章 功能表 Menu 和工具列 Toolbars
16-1 功能表 Menu 設計的基本觀念
16-2 tearoff 參數
16-3 功能表清單間加上分隔線
16-4 建立多個功能表的應用
16-5 Alt 快捷鍵 (Shortcuts)
16-6 Ctrl+ 快捷鍵 (Shortcuts)
16-7 建立子功能表 (Submenu)
16-8 建立彈出功能表 (Popup menu)
16-9 add_checkbutton( )
16-10 建立工具列 Toolbar
第十七章 文字區域 Text
17-1 文字區域 Text 的基本觀念
17-2 插入文字 insert( )
17-3 Text 加上捲軸 Scrollbar 設計
17-4 字型 Fonts
17-5 選取文字 Selecting text
17-6 認識 Text 的索引 (index)
17-7 建立書籤 (Marks)
17-8 標籤 (Tags)
17-9 Cut/Copy/Paste 功能
17-10 復原 Undo 與重複 Redo
17-11 搜尋文字 Searching text
17-12 拼字檢查 Spelling check
17-13 儲存 Text 控件內容
17-14 開新檔案 New File
17-15 開啟舊檔 Open File
17-16 預設含捲軸的 ScrolledText 控件
17-17 插入影像
第十八章 Treeview
18-1 Treeview 的基本觀念
18-2 格式化 Treeview 欄位內容 column( )
18-3 建立不同顏色的行內容
18-4 建立階層式的 Treeview
18-5 插入影像
18-6 Selection 選項發生與事件觸發
18-7 刪除項目
18-8 插入項目
18-9 連按 2 下某個項目
18-10 Treeview 綁定捲軸
18-11 排序 Sorting
第十九章 Canvas
19-1 繪圖功能
19-2 滑鼠拖曳應用在繪製線條
19-3 動畫設計
19-4 反彈球遊戲設計
19-5 多個反彈球的設計
19-6 建立長條圖和執行排序
19-7 遞迴觀念與碎形
附錄 A RGB 色彩表
附錄 B 函數或方法索引表