1、Tcl、Tk和Tkinter
Tkinter是Python的預設GUI庫,它基於Tk工具集,後者最初是為工具命令語言(Tcl)設計的。Tk流行後被廣泛移植,包括Perl(Perl/Tk)、Ruby(Ruby/Tk)、Python(Tkinter)。Tk開發GUI的可移植性和靈活性,Python指令碼語言的簡潔和系統語言的強勁。Python基於Tk提供了一種更高效的快速原型系統用以建立應用。Python還具有系統訪問、網路操作、XML、數字可視化、資料庫訪問,以及所有其他標準庫和第三方模組。
2、Tkinter與Python編程
Tkinter頂層視窗對象、組件(標籤、按鈕、列表框等等)
top=Tkinter.Tk() #建立頂層視窗對象,稱作根視窗。
1
GUI中可建立多個頂層視窗,但它們中只能有一個根視窗。
父組件(容器)、子組件 組件具有事件、回調,事件驅動
Tk有兩個座標管理器:一個是包(packer)、一個是網格(Grid)
GUI程式類似於用戶端/伺服器架構,存在一個“伺服器式”的無限迴圈。包括等待GUI事件、處理事件,然後返回等待模式,處理下一個事件。
Tkinter.mainloop() 所有組件就緒後進入主迴圈。一旦進入主迴圈,GUI開始掌握控制權,其他動作都來自回呼函數。 頂層視窗 Tkinter.Tk() Tk組件Button、Canvas、Checkbutton、Entry、Frame、Label、Listbox、Menu、Menubutton、Message、Radiobutton、Scale、Scrollbar、Text、Toplevel。
偏函數應用(PFA)
偏函數允許你“預存”一些函數變數並有效地“凍結”了這些預定參數,在運行時你獲得了所需的其他變數之後再把它們“解凍”出來,用這些最終確定的參數去調用函數。PFA不僅僅限於函數,對任何“可調用”的東西都有效。
3、其他的GUI簡介
(1)Tk Interface eXtensions(Tix)
Tix是對Tcl/Tk的一個擴充庫。
(2)Python Mega Widgets的Tkinter擴充(Pmw)
PMW擴充了Tkinter。
(3)wxWidgets 和 wxPython
(4)GTK+ 和 PyGTK