| Tkinter類 | 名稱 | 簡介 |
|---|---|---|
| Toplevel | 頂層 | 容器類,可用于為其他組件提供單獨的容器,Toplevel 有點類似于窗口 |
| Button | 按鈕 | 代表按鈕組件 |
| Canvas | 畫布 | 提供繪圖功能包括直線、矩形、橢圓、多邊形、位圖等 |
| Checkbutton | 復(fù)選框 | 可供用戶勾選的復(fù)選框 |
| Entry | 單行輸入框 | 用戶可輸入的內(nèi)容 |
| Frame | 容器 | 用于裝載其他GUI組件 |
| Label | 標(biāo)簽 | 用于顯示不可編輯的文本或者圖標(biāo) |
| LabelFrame | 容器 | 也是容器組件,類似Frame,它可以支持添加標(biāo)題 |
| Listbox | 列表框 | 列出多個選項,供用戶選擇 |
| Menu | 菜單 | 菜單組件 |
| Menubutton | 菜單按鈕 | 用來包含菜單的按鈕(包括下拉式、層疊式) |
| OptionMenu | 菜單按鈕 | Menubutton 的子類,也代表菜單按鈕,可以通過按鈕打開一個菜單 |
| Message | 消息框 | 類似標(biāo)簽,可以顯示多行文本 |
我們前面已經(jīng)使用過Tkinter 類來創(chuàng)建一個簡單的GUI程序,步驟大致為:
1.創(chuàng)建根窗口
2.創(chuàng)建組件
3.布局排版管理
4.導(dǎo)入事件
.....以上都是基于過程的編程寫法
但是,我們實際工作中,開發(fā)的程序都是比較復(fù)雜的
GUI編程我們也要使用面向?qū)ο蠓绞饺ゾ幊?,更加合理的組織我們代碼
GUI面向?qū)ο缶幊虒懛P(guān)鍵點:
官網(wǎng)DEMO版本:

Frame框架是Tkinter組件,表示一個矩形的區(qū)域,F(xiàn)rame一般作為容器使用,可以放置其他組件,從而實現(xiàn)復(fù)雜的布局
面向?qū)ο蟠a邏輯拆分圖:

根據(jù)官網(wǎng)推薦的DEMO版本,我們來使用面向?qū)ο笏枷雽崿F(xiàn)GUI程序
from tkinter import *
class Application(Frame):
def __init__(self,master=None):
# super()代表的是父類的定義,而不是父類對象
super().__init__(master)
self.master = master
self.pack()
self.createwidget()
def createwidget(self):
self.but1 = Button(self)
self.but1["text"] = "add"
self.but1.pack()
self.but1["command"] = self.addinfo
def addinfo(self):
messagebox.showinfo("提示","添加成功")
root = Tk()
root.geometry("400x100+200+300")
root.title("MyfirstAPP")
app = Application(master=root)
root.mainloop()

我們學(xué)習(xí)GUI編程面向?qū)ο蟮膶懛?,讓我們代碼更加的整潔,提高代碼的重復(fù)使用率。
GUI 面向?qū)ο缶幊淌褂美^承Frame類使用構(gòu)造函數(shù)來替代反復(fù)創(chuàng)建組件對象,組件操作全部封裝到createwidget方法,Application對象直接通過master來調(diào)用。
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
標(biāo)簽:林芝 海南 漯河 盤錦 普洱 寧夏 大同 南平
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《帶你詳細了解Python GUI編程框架》,本文關(guān)鍵詞 帶你,詳細,了解,Python,GUI,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。