Python程序設(shè)計基礎(chǔ) (微課版)-課件 第11章:GUI程序設(shè)計_第1頁
Python程序設(shè)計基礎(chǔ) (微課版)-課件 第11章:GUI程序設(shè)計_第2頁
Python程序設(shè)計基礎(chǔ) (微課版)-課件 第11章:GUI程序設(shè)計_第3頁
Python程序設(shè)計基礎(chǔ) (微課版)-課件 第11章:GUI程序設(shè)計_第4頁
Python程序設(shè)計基礎(chǔ) (微課版)-課件 第11章:GUI程序設(shè)計_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

《Python程序設(shè)計基礎(chǔ)(微課版)》GUI程序設(shè)計2/22知識目標(biāo)理解四種組合數(shù)據(jù)類型的核心特性與區(qū)別掌握列表的有序、可變特性及常用操作掌握元組的有序、不可變特性及應(yīng)用場景掌握字典的鍵值對結(jié)構(gòu)及數(shù)據(jù)訪問方式能力目標(biāo)能熟練創(chuàng)建和操作列表、元組、字典與集合能遍歷組合數(shù)據(jù)并實(shí)現(xiàn)不同類型間的轉(zhuǎn)換任務(wù)導(dǎo)入知識與能力目標(biāo)掌握集合的元素唯一性及集合運(yùn)算熟悉jieba庫的基本原理能運(yùn)用內(nèi)置方法解決數(shù)據(jù)增刪改查等問題能安裝并導(dǎo)入jieba第三方庫能使用jieba對中文文本進(jìn)行精確分詞能根據(jù)任務(wù)需求選擇合適的分詞模式能綜合運(yùn)用本章知識解決簡單文本處理任務(wù)ThinkerTkinter簡稱Tk,是Python自帶的標(biāo)準(zhǔn)GUI庫,可方便快捷地創(chuàng)建GUI程序。其無須安裝,直接導(dǎo)入即可使用。importtkinterastkwin=tk.Tk()#生成一個窗口tk.Label(win,.....)#在窗口win上生成一個Label,該Label的母體是winckb=tk.Checkbutton(win,.....)#在窗口上生成一個Checkbuttonfrm=tk.Frame(win,.....)#在窗口上生成一個Framebt=tk.Button(frm,......)#在frm上生成一個Button

Thinker常見的屬性方法方法

參數(shù)及用法

title(string)設(shè)置窗口的標(biāo)題文本為string字符串,默認(rèn)值為'tk'geometry('WxH+dx+dy')W和H是窗口的初始寬度和高度,字母x代表乘號,dx和dy代表窗口打開時,窗口左側(cè)和上側(cè)與屏幕左側(cè)和上側(cè)之間的距離(單位為像素)

configure(bg='color')

設(shè)置窗口的背景顏色resizable(bool,bool)兩個布爾值分別代表窗口的長度和寬度是否可以改變(若可以,則用0和1代替布爾值)

mainloop()主窗口進(jìn)入消息事件循環(huán)(放在最后)

quit()退出主窗口,等同于單擊退出按鈕,所有子窗口也退出

destroy()摧毀主窗口,主窗口消失,且所有子窗口也消失;摧毀子窗口,則只有該子窗口消失,不影響主窗口和其他子窗口

Thinker常用組件Tkinter是Python的標(biāo)準(zhǔn)GUI庫,提供了一個簡單易用的界面來創(chuàng)建窗口程序。它包含多種控件,如按鈕、文本框、標(biāo)簽等,適用于快速開發(fā)桌面應(yīng)用程序。Tkinter的設(shè)計理念是簡潔明了,讓開發(fā)者能夠輕松實(shí)現(xiàn)圖形用戶界面。組件中文名稱功能Label標(biāo)簽用于顯示不可編輯的文本或位圖Button按鈕可顯示一段小文本或位圖,主要用于響應(yīng)事件,如鼠標(biāo)單擊、經(jīng)過等。Entry文本框用于收集顯示用戶的鍵盤輸入,只能顯示一行文本。Checkbutton復(fù)選框當(dāng)多個復(fù)選框放在一組時,可同時選擇1個或多個。Radiobutton單選按鈕當(dāng)多個單選按鈕放在一組時,只能選中一個。Text文本域用于收集顯示用戶的鍵盤輸入,能顯示多行文本Listbox列表框一個選項(xiàng)列表,供用戶選擇。Menu菜單顯示菜單欄,有下拉菜單和彈出菜單Menubutton菜單按鈕用于顯示菜單項(xiàng)。Message消息框與label相似,但可顯示多行文本。Scale進(jìn)度條線性“滑塊”組件,設(shè)置起始值和結(jié)束值,可顯示當(dāng)前值的精確位置。Scrollbar滾動條當(dāng)組件(如列表框、文本域)內(nèi)容超過可顯區(qū)域時,提供滾動功能。Canvas畫布提供繪圖功能,如直線、圓、橢圓等。Frame框架容器,可放置其它GUI組件。Toplevel窗口用來創(chuàng)建子窗口。組件通用屬性height和width組件的大小由高度height和寬度width屬性決定。如果是Button、Label或Text組件,以字符數(shù)目為單位。其他的控件則是以像素pixel為單位。例如:Label(root,text="標(biāo)簽",height=2,width=10)生成Label組件,高度為2字符,寬度為10字符font可設(shè)置組件標(biāo)題文字的字體格式,屬性值是一個元組格式:(font

family,size,modifiers),其中字體樣式modifiers可以是

bold、italic、underline及overstrike,多個字體樣式之間以空格隔開。importtkinterastkroot=tk.Tk()#創(chuàng)建主窗口Label(root,text='成功源于堅持',font=('Arial',12,'bold')).pack()#創(chuàng)建并布局第一個標(biāo)簽Label(root,text='成功源于堅持',height=2,font=('宋體',18,'bolditalic')).pack()#創(chuàng)建布局第二個標(biāo)簽root.mainloop()#運(yùn)行主循環(huán)組件通用屬性relief定義組件的邊框形式,屬性值可設(shè)為:SUNKEN(凹)、RIDGE(邊凸)、RAISED(邊凸)、GROOVE(邊凹)、FLAT(平)、SOLID(黑框)。以Button組件為例,定義不同的relief屬性值,呈現(xiàn)不同的邊框樣式按鈕。例如:Button(root,text='Button1',relief=SUNKEN)Button(root,text='Button2',relief=RIDGE)Button(root,text='Button3',relief=RAISED)Button(root,text='Button4',relief=GROOVE)Button(root,text='Button5',relief=FLAT)Button(root,text='Button6',relief=SOLID)組件通用屬性borderwidthborderwidth(或bd)定義組件邊框的寬度,單位為像素。只有當(dāng)組件樣式有邊框時,邊框?qū)挾炔庞行?。foreground(或fg)定義組件的前景(文本)顏色。background(或bg)定義組件的背景顏色。顏色值可以是顏色名稱常數(shù),如red、green、blue,也可以是"#rrggbb"形式的十六進(jìn)制常數(shù)字符串。例如,以下代碼創(chuàng)建藍(lán)底紅字的標(biāo)簽。Label(root,text='追夢人',foreground='red',background='#0000ff')foreground和background組件通用屬性anchor設(shè)置組件在窗口內(nèi)的位置或文字信息在組件內(nèi)的位置。屬性值可以為N、NE、E、SE、S、SW、W、NW、CENTER,對應(yīng)的方位如下圖所示。NWNNEWCENTERESWSSE組件通用屬性statestate表示組件的狀態(tài),一般有三種情況,默認(rèn)值NORMAL、激活值A(chǔ)CTIVE、失效值DISABLED。bitmap設(shè)置顯示在控件內(nèi)的bitmap圖片文件??稍O(shè)為自定義位圖(.xbm文件),也可設(shè)為內(nèi)置位圖,包括:‘error’、‘gray75’、‘gray50’、‘gray25’、‘gray12’、‘info’、‘questhead’、‘hourglass’、‘question’、‘warning’。以按鈕為例,將位圖設(shè)為不同的內(nèi)置位圖時,效果如下圖所示。標(biāo)簽LabelLabel組件用于在窗口中顯示文本或位圖。創(chuàng)建Label組件對象的基本語法格式如下:Label對象=Label(master=None,cnf={},**kw)其中,master是指組件所在的容器,cnf是指組件的屬性設(shè)置,kw是標(biāo)簽的鍵值對。Label組件具有通用屬性寬度width、高度height、背景顏色background、前景顏色foreground、字體font、邊框樣式relief、邊框?qū)挾萣orderwidth、錨點(diǎn)anchor、位圖bitmap、狀態(tài)state等,還有其它常用屬性,見下表所示。屬性說明text標(biāo)簽上的文本wraplength指定多少像素單位后換行,用于多選顯示文本。默認(rèn)是單行顯示。justify指定多行的對齊方式:left(左對齊)、right(右對齊)、center(居中對齊)image標(biāo)簽上的圖像(.png、.gif)compound指定文本與圖像顯示相對位置。默認(rèn)為None:文本將被覆蓋,只顯示圖像;Left:圖像居左;right:圖像居右;top:圖像居上;bottom:圖像居下;center:文字覆蓋在圖像上。padx標(biāo)簽文本左側(cè)和右側(cè)離邊框距離,單位為像素。pady標(biāo)簽文本上方和下方離邊框距離,單位為像素。按鈕ButtonButton組件可顯示文本或圖片并與用戶交互,通過command屬性與Python函數(shù)綁定,當(dāng)用戶單擊按鈕時,調(diào)用并執(zhí)行綁定的函數(shù)。創(chuàng)建Button組件對象的基本語法格式如下:Button對象=Button(master=None,cnf={},**kw)Button組件除具有通用屬性寬度width、高度height、背景顏色background、前景顏色foreground、字體font、邊框?qū)挾萣orderwidth等,還有其它常用屬性見下表所示。屬性說明activebackground鼠標(biāo)放上去時按鈕的背景色activeforeground鼠標(biāo)放上去時按鈕的前景色text按鈕上的文本image按鈕上的圖像compound按鈕上文本與圖像的位置關(guān)系。默認(rèn)為None:文本將被覆蓋,只顯示圖像;Left:圖像居左;right:圖像居右;top:圖像居上;bottom:圖像居下;center:文字覆蓋在圖像上。command單擊按鈕時觸發(fā)的動作(函數(shù))文本框Entry文本框Entry用于接收單行信息輸入,創(chuàng)建文本框組件對象的基本語法格式為:Entry對象=Entry(master=None,cnf={},**kw)Entry組件除具有通用屬性寬度width、背景顏色background、前景顏色foreground、字體font、邊框?qū)挾萣orderwidth、狀態(tài)state等,還有其它常用屬性見下表所示。屬性說明show密碼字符,不顯示真實(shí)字符textvariable文本框的值,是一個StringVar()對象insertbackground插入光標(biāo)的顏色,默認(rèn)為黑色’black’selectbackground選中文本的背景顏色selectforeground選中文本的前景顏色單選按鈕Radiobutton單選按鈕Radiobutton用于實(shí)現(xiàn)選項(xiàng)的單選功能,同一組單選按鈕只能選中一項(xiàng)。創(chuàng)建單選按鈕對象的基本語法格式如下:Radiobutton對象=Radiobutton(master=None,cnf={},**kw)Radiobutton對象除具有通用屬性寬度width、高度height、背景顏色background、前景顏色foreground、字體font、邊框?qū)挾萣orderwidth、狀態(tài)state等,還有其它常用屬性,具體見下表所示。屬性說明activebackground鼠標(biāo)滑過時單選按鈕的背景顏色activeforeground鼠標(biāo)滑過時單選按鈕的前景顏色highlightcolor單選按鈕高亮邊框顏色,當(dāng)單選按鈕獲取焦點(diǎn)時顯示text單選按鈕旁邊的文本。多行文本可以用“\n”來換行justify多行文本的對齊方式:居中(CENTER,默認(rèn)值)、靠左(LEFT)或靠右(RIGHT)value指定單選按鈕關(guān)聯(lián)的值variable指定單選按鈕選中時設(shè)置的變量名command單選按鈕選中時執(zhí)行的命令(函數(shù))復(fù)選框Checkbutton復(fù)選框Checkbutton用于實(shí)現(xiàn)選項(xiàng)的復(fù)選功能,同一組復(fù)選框可選擇一項(xiàng)或多項(xiàng)。創(chuàng)建復(fù)選框?qū)ο蟮幕菊Z法格式如下:Checkbutton對象=Checkbutton(master=None,cnf={},**kw)Checkbutton對象除具有通用屬性寬度width、高度height、背景顏色background、前景顏色foreground、字體font、邊框?qū)挾萣orderwidth等,還有其它常用屬性,具體見下表所示。屬性說明activebackground鼠標(biāo)滑過時復(fù)選框的背景顏色activeforeground鼠標(biāo)滑過時復(fù)選框的前景顏色highlightcolor復(fù)選框高亮邊框顏色,當(dāng)復(fù)選框獲取焦點(diǎn)時顯示text復(fù)選按鈕旁邊的文本。多行文本可以用“\n”來換行justify多行文本的對齊方式:居中(CENTER,默認(rèn)值)、靠左(LEFT)或靠右(RIGHT)variable指定復(fù)選框選中時設(shè)置的變量名onvalue復(fù)選框選中(有效)時變量的值offvalue復(fù)選框未選中(無效)時變量的值command復(fù)選框選中時執(zhí)行的命令(函數(shù))列表框Listbox列表框Listbox用于顯示多個項(xiàng)目,并且允許用戶選擇一個或多個項(xiàng)目。創(chuàng)建列表框?qū)ο蟮幕菊Z法格式如下:Listbox對象=Listbox(master=None,cnf={},**kw)Listbox對象除具有通用屬性寬度width、高度height、背景顏色background、前景顏色foreground、字體font、邊框?qū)挾萣d等,還有其它常用屬性及說明見下表所示。屬性說明listvariable列表框的所有選項(xiàng)值,應(yīng)為StringVar變量selectmode選項(xiàng)選擇模式:MULTIPLE(多選)、BROWSE(通過鼠標(biāo)的移動選擇)、SINGLE(只能選一行,鼠標(biāo)不能拖動選擇)、EXTENDED(shift和ctrl配合使用)activestyle被選中的文本的樣式:underline(下劃線)、dotbox(點(diǎn)劃線框)、none:(無樣式)exportselection是否可以復(fù)制選中的文本內(nèi)容,設(shè)為True(可以)、False(不可以)xscrollcommand指定列表框的水平滾動條組件yscrollcommand指定列表框的垂直滾動條組件文本框Text文本域Text主要用來顯示和處理多行文本,還可以用來編輯文字、顯示圖片和網(wǎng)頁。創(chuàng)建文本域?qū)ο蟮幕菊Z法格式如下:Text對象=Text(master=None,cnf={},**kw)Text對象除具有通用屬性寬度width、高度height、背景顏色background、前景顏色foreground、字體font、邊框?qū)挾萣d等,還有其它常用屬性及說明見下表所示。屬性說明autoseparators單詞之間的間隔。默認(rèn)值為1。exportselection是否可以復(fù)制選中的文本內(nèi)容,設(shè)為True(可以)、False(不可以)undo設(shè)為True則開啟undo/redo功能,默認(rèn)是不支持的。maxundo最大Undo的次數(shù)。默認(rèn)是0。setgrid布爾型,為True時,可以讓窗口最大化,并顯示整個Text控件spacing1段前間距spacing2行間距spacing3段后間距xscrollcommand指定列表框的水平滾動條組件yscrollcommand指定列表框的垂直滾動條組件框架Frame控件多了,要算每個控件行、列、rowspan,columnspan很麻煩Frame控件上面還可以擺放控件,可以當(dāng)作底板使用可以在Frame控件上面設(shè)置網(wǎng)格進(jìn)行Grid布局,擺放多個控件frm00Bluefrm20Greenfrm11Yellowfrm01Red布局管理器

pack布局,place布局grid布局在窗口上布置網(wǎng)格(grid),控件放在網(wǎng)格單元里面事件處理

事件(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論