python listbox输入内容自动换行_python中的图像界面设计(二)
1. Tkinter組件
Tkinter 提供各種的組件(控件),如按鈕、標(biāo)簽和文本框,提供一個(gè)GUI應(yīng)用程序使用。這些組件通常被稱為控件或者是部件。目前有15中Tkinter的組件。這些組件的簡(jiǎn)單介紹如下:
通過(guò)組件類的構(gòu)造函數(shù)可以創(chuàng)建其對(duì)象實(shí)例。例如:
2. 標(biāo)準(zhǔn)屬性
組件標(biāo)準(zhǔn)屬性也就是所以組件(控件)的共同屬性,如大小、字體和顏色等。常用的標(biāo)準(zhǔn)屬性如下:
可以通過(guò)以下方式之一設(shè)置組件屬性。
3. Label標(biāo)簽組件
Label組件用于在窗口中顯示文本或位圖。常用屬性如下:
屬性anchor可用值:e,垂直居中,水平居右;w,垂直居中,水平居左;
n,垂直居上,水平居中;s,垂直居下,水平居中;
ne,垂直居上,水平居右;se,垂直居下,水平居中;
sw,垂直居下,水平居左;nw,垂直居上,水平居右;
center,垂直居中,水平居中
label組件實(shí)例,如下:
4. Button按鈕組件
Button組件是一個(gè)標(biāo)準(zhǔn)的Tkinter部件,用于實(shí)現(xiàn)各種按鈕。按鈕可以包含文本圖像,可以通過(guò)command屬性將調(diào)用python函數(shù)或方法關(guān)聯(lián)到按鈕上。Tkinter的按鈕被按下時(shí),會(huì)自動(dòng)調(diào)用該函數(shù)或方法。該按鈕可以顯示一個(gè)單一字體的文本,但文本可能跨越一個(gè)以上的行。如下,Tkinter Button按鈕屬性和方法
如下, 使用Tkinter創(chuàng)建一個(gè)四個(gè)Button實(shí)例程序
5. 單行文本框Entry和多行文本框 Text
Entry 單行文本框主要用于輸入單行內(nèi)容和顯示文本。可以方便的項(xiàng)程序傳遞用戶參數(shù)。這里通過(guò)一個(gè)轉(zhuǎn)換攝氏度和華氏度的小程序來(lái)演示該組件的使用。
5.1 創(chuàng)建和顯示Entry對(duì)象
創(chuàng)建Entry對(duì)象的基本方法如下:
Entry 對(duì)象 = Entry(windows窗口對(duì)象)
顯示Entry對(duì)象的方法如下:
Entry對(duì)象.pack()
5.2 獲取Entry組件的內(nèi)容
其中g(shù)et()方法用于獲取Entry單行文本框內(nèi)輸入的內(nèi)容
5.3 Entry的常用屬性,如下:
5.4 轉(zhuǎn)換攝氏度和華氏度的程序,運(yùn)行如下:
程序中新建了一個(gè)Entry組件entryCd,當(dāng)"轉(zhuǎn)換溫度"按鈕按下后,通過(guò)entryCd.get()獲取輸入框中的文本內(nèi)容,該內(nèi)容為字符串類型,需要通過(guò)float()函數(shù)轉(zhuǎn)換成數(shù)字,之后再進(jìn)行換算并更新Label顯示內(nèi)容
設(shè)置或者獲取Entry組件內(nèi)容也可以使用StringVar()對(duì)象來(lái)完成,把Entry的textvariable屬性設(shè)置為StringVar()變量,再通過(guò)String Var()變量的get()和set()函數(shù)可以讀取和輸出相應(yīng)文本內(nèi)容,例如:
同樣,python提供多行文本框Text,用于輸入多行內(nèi)容和顯示文本。使用方法類似Entry,請(qǐng)參考Tkinter手冊(cè)
6. 列表框組件Listbox
列表框組件Listbox用于顯示多個(gè)項(xiàng)目,并且允許用戶選擇一個(gè)或多個(gè)項(xiàng)目
6.1 創(chuàng)建和顯示Listbox對(duì)象
創(chuàng)建Listbox對(duì)象的基本方法如下:
Listbox對(duì)象 = Listbox(Tkinter Windows窗口對(duì)象)
顯示Listbox對(duì)象的方法如下:
Listbox對(duì)象.pack()
6.2 插入文本項(xiàng)
可以使用insert()方法向列表框組件中插入文本項(xiàng),方法如下:
Listbox對(duì)象.insert(insert,item)
其中index是插入文本項(xiàng)的位置,如果再尾部插入文本項(xiàng),則可以使用END;如果再當(dāng)前選中處插入文本項(xiàng),則可以使用ACTIVE。Item是要插入的文本項(xiàng)
6.3 返回選中項(xiàng)索引
Listbox對(duì)象.curselection()
返回當(dāng)前選中項(xiàng)目的索引,結(jié)果為元組
注意:索引號(hào)從0開始,0表示第一項(xiàng)
6.4 刪除文本項(xiàng)
Listbox對(duì)象.delete(first, last)
刪除指定范圍(first,last)的項(xiàng)目,不指定last時(shí),刪除1個(gè)項(xiàng)目
6.5 獲取項(xiàng)目?jī)?nèi)容
Listbox對(duì)象.get(first,last)
返回指定范圍(first,last)的項(xiàng)目,不指定last時(shí),僅返回1個(gè)項(xiàng)目
6.6 獲取項(xiàng)目個(gè)數(shù)
Listbox對(duì)象.size()
6.7 獲取Listbox內(nèi)容
需要使用listvariable屬性為L(zhǎng)istbox對(duì)象指定一個(gè)對(duì)應(yīng)的變量
指定后就可以使用m.get()方法用于獲取Listbox對(duì)象中的內(nèi)容
注意:如果允許用戶選中多個(gè)項(xiàng)目Listbox對(duì)象的selectmode屬性設(shè)置為MULTIPLE表示多選,而設(shè)置為SINGLE為單選
單擊"獲取Listbox的所有內(nèi)容"按鈕則輸出:('北京', '天津', '上海')
選中上海后,單擊"獲取Listbox的選中內(nèi)容"按鈕則輸出:上海
總結(jié)
以上是生活随笔為你收集整理的python listbox输入内容自动换行_python中的图像界面设计(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: symfony api 错误响应_如何设
- 下一篇: websocket python爬虫_p