Python圖形使用者介面程式設計
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