描述
內容簡介
Python應用程式內有內附tkinter模組,這個模組主要是設計使用者圖形介面(GUI, Graphical User Interface),可以用它設計跨平台的視窗應用程式,程式設計師可以使用此模組的控件(Widget)設計圖形介面讓使用者可以和電腦做溝通。tkinter模組簡單好用,但是市面卻缺乏這方面的知識,這將是GUI設計使用tkinter的經典中文著作。
這本著作基本原則是:
- Python GUI設計火力加強版
- 從入門到完整、完美學習
- 靜態控件到動態遊戲完美實例解說。
- 單一控件動畫到多控件動畫
本書以約300個程式實例講解下列知識:
- 跨平台視窗程式設計
- Python tkinter Widget解說
- Python tkinter.ttk Widget解說
- Widget共通屬性
- Widget共通方法
- 變數類別Variable Classes
- 事件與綁定Events and Binds
- 計算器(Calculator)設計
- 文書編輯程式(Editor)設計
- 動畫遊戲設計
- 碎形(Fractal)設計
- 走馬燈設計
- 模擬海龜繪圖
- 球類競賽
- 風扇設計
- 單個或多個反彈球設計
- 建立長條圖與動態排序
序
2018 年 8 月筆者出版了市面上第一本 Python GUI 設計使用 tkinter 的中文圖書, 很快該書就已經完銷,本書基本上是該書籍的再版,在這個版本除了修訂文字的錯誤, 另外增加許多程式,讓整個 GUI 的設計實例更加完善,讀者可以獲得更好的參考。
筆者在 2017 年 12 月出版了「Python 入門邁向高手之路王者歸來」,從上市到現 在,連續幾個月皆是台灣 Python 領域最暢銷的書籍。該書厚度約 820 頁,雖然是當時 Python 圖書講解內容最豐富、應用最廣泛的圖書,但受限於篇幅,筆者深知該書仍無 法涵蓋所有 Python 的應用,特別是在 GUI 設計部份筆者只是初淺解說。
在 Python 應用程式內有內附 tkinter 模組,這個模組主要是設計使用者圖形介面 (GUI, Graphical User Interface),可以用它設計跨平台的視窗應用程式,程式設計師可 以使用此模組的控件 (Widget) 設計圖形介面讓使用者可以和電腦做溝通。tkinter 模組 簡單好用,但是目前卻沒有一本書籍將這個模組做一個完整的功能介紹,這也是筆者 決定撰寫本書的動力。
本書基本上不對 Python 語法做介紹,所以讀者需有 Python 知識才適合閱讀本書, 如果讀者未有 Python 觀念,建議讀者可以先閱讀筆者所著『Python最強入門邁向數據科學之路—王者歸來』書籍,相信必可以建立完整的 Python 知識。
本書以約 300 個程式實例講解下列知識: Python tkinter Widget 解說 Python tkinter.ttk Widget 解說 Widget 共通屬性 Widget 共通方法 變數類別 Variable Classes 事件與綁定 Events and Binds 計算器 (Calculator) 設計 文書編輯程式 (Editor) 設計 動畫遊戲設計 碎形 (Fractal) 設計 走馬燈設計 模擬海龜繪圖 球類競賽 風扇設計 單個或多個反彈球設計 建立長條圖與動態排序
寫過許多的電腦書,本書沿襲筆者著作的特色,程式實例豐富,相信讀者只要遵 循本書內容必定可以在最短時間精通視窗程式設計,編著本書雖力求完美,但是學經 歷不足,謬誤難免,尚祈讀者不吝指正。
洪錦魁 2019-05-10
jiinkwei@me.com
目錄
第一章 基本觀念
第一章 基本觀念
1-1 認識 GUI 和 tkinter
1-2 建立視窗
1-3 視窗屬性的設定
1-4 視窗位置的設定
1-5 認識 tkinter 的 Widget
1-6 Widget 的共通屬性
1-7 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 簡易計算器按鈕佈局的應用
4-5 設計滑鼠游標在功能鈕的外形
第五章 文字方塊 Entry
5-1 文字方塊 Entry 的基本觀念
5-2 使用 show 參數隱藏輸入的字元
5-3 Entry 的 get( ) 方法
5-4 Entry 的 insert( ) 方法
5-5 Entry 的 delete( ) 方法
5-6 計算數學表達式使用 eval( )
第六章 變數類別
6-1 變數類別的基本觀念
6-2 get( ) 與 set( )
6-3 追蹤 trace( ) 使用模式 w
6-4 追蹤 trace( ) 使用模式 r
6-5 再看 trace( ) 方法呼叫的 callback 方法參數
6-6 計算器的設計
第七章 選項鈕與核取方塊
7-1 Radio buttons 選項鈕
7-2 Checkboxes 核取方塊
7-3 簡單編輯程式的應用
第八章 容器控件
8-1 框架 Frame
8-2 標籤框架 LabelFrame
8-3 頂層視窗 Toplevel
8-4 專題 - 使用 tkinter 處理謝爾賓斯基三角形
第九章 與數字有關的 Widget
9-1 Scale 的數值輸入控制
9-2 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 建立長條圖和執行排序
附錄 A RGB 色彩表
附錄 B 函數或方法索引表