Python視窗程式設計 (Python GUI Programming with tkinter)
- 課程名稱﹙中文、英文﹚:Python視窗程式設計 (Python GUI Programming with tkinter)
- 開課年級(1234或34GP或GP):34GP
- 學分數:3
- 授課時數:3
- 必修/選修:選修
- 需使用的電腦教室: 科三208 94334492
- 上課時間: Wednesday 18:10-21:00, 科三208
- 電腦教室需灌的軟體: Anaconda3 Ver.5.3.1 (64-bit), Vim 8.1
- 開課老師: 吳坤熹
- 先修課程Prerequisites: 計算機概論
- 課程目標Course objectives:
學習以 Python 語言撰寫具備視窗介面(GUI)之程式。
- 授課方式Teaching approach:
Lectures & Hands-On Exercises
- 評量方式Grading criteria:(含評量項目及所佔比例,請運用多元評量)
Homework (30%), Midterm Exam (30), Term Project (40%)
- 參考書目Textbook & references:
- 教科書:洪錦魁, "Python
GUI設計活用tkinter", 深石出版, 2018.
- References:
- The Python Standard Library -
Graphical User Interfaces with Tk
- Tkinter 8.5 reference: a GUI for Python
by New Mexico Tech.
- An Introduction to
Tkinter by effbot.org, November 2005.
- 教學進度(週次、授課主題、教學活動、評量方式/作業、章節)
Course schedule (week, topic, activities, evaluation/assignment, text, etc.):
- 第1週: Introduction to GUI and tkinter. 標籤Label
- 第2週: 視窗控件配置管理員Widget Layout Manager
- 第3週: 功能鈕Button
- 第4週: 文字方塊Entry
- 第5週: 變數類別 (Variable Class)
- 第6週: 選項鈕(Radio Button)與核取方塊(Checkbox)
- 第7週: 容器控件 (Container Widgets)
- 第8週: 與數字有關的Widget (Scale及Spinbox)
- 第9週: Message與Messagebox
- 第10週: 事件(Events) 和綁定(Bindings)
- 第11週: 表單Listbox與捲軸Scrollbar
- 第12週: OptionMenu與Combobox
- 第13週: 容器PanedWindow和Notebook
- 第14週: 進度條Progressbar
- 第15週: 功能表Menu和工具列Toolbars
- 第16週: 文字區域Text
- 第17週: Treeview
- 第18週: Canvas
- TA協助事項Teaching Assistant tasks:
Homework Evaluation, Presentation Rehearsals, Hands-On Assistance,
EverCam Post-Editing
- 本課程可達成本系教育目標:
- 配合國家經濟發展,培養符合資訊產業需求的工程技術人才
- 本課程可培養學生之核心能力(Core competency)
- 具備程式設計基礎知識並應用於設計及實作資訊軟體的能力
- 具備使用英文閱讀資訊領域技術文件的能力
- 具備團隊合作執行資訊工程專題製作的能力
- 理解資訊工程專業倫理、敬業態度、環境保護及社會責任
- 備註Remarks:
Fundamental background of Python programming will be assumed.
Further Reading
-
Python GUI Programming (Tkinter)
- PyGame
- OpenGL
More Exercises
- stack
- trace: dictionary possible words
- Virtual
Keyboard
- SF: tkCalendar
- tkinter Treectrl tkHTML
- tk-html-widgets
-
import webbrowser
webbrowser.open_new("index.html")
- UTF8 chinese formatting, cformat
- Julia Set
- mspaint
- Horse Racing with place()
- Listbox as Partition Problem
- Slides Puzzle with Listbox to backtrack
- mspaint
- Visual Python