python tkinter之 復(fù)選、文本、下拉的實(shí)現(xiàn)
我就廢話不多說了,直接看代碼吧!
import tkinter as tkfrom tkinter import ttkwin = tk.Tk()win.title('Python GUI') # 添加標(biāo)題ttk.Label(win, text='Chooes a number').grid(column=1, row=0) # 添加一個(gè)標(biāo)簽0ttk.Label(win, text='Enter a name:').grid(column=0, row=0) # 設(shè)置其在界面中出現(xiàn)的位置# button被點(diǎn)擊之后會(huì)被執(zhí)行def clickMe(): # 當(dāng)acction被點(diǎn)擊時(shí),該函數(shù)則生效 action.configure(text=’Hello ’ + name.get() + ’ ’ + numberChosen.get())#設(shè)置button顯示的內(nèi)容 print(’check3 is %d %s’ % (chvarEn.get(), type(chvarUn.get())))action = ttk.Button(win, text='Click Me!', command=clickMe) # 創(chuàng)建一個(gè)按鈕, text:顯示按action.grid(column=2, row=1) # 設(shè)置其在界面中出現(xiàn)的位置# 文本框name = tk.StringVar() # StringVar是Tk庫內(nèi)部定義的字符串變量類型,在這里用于管理#部件上面的字符;不過一般用在按鈕button上。改變StringVar,按鈕上的文字也隨之改變。nameEntered = ttk.Entry(win, width=12, textvariable=name) # 創(chuàng)建一個(gè)文本框,字符長(zhǎng)度為12, #內(nèi)容綁定到name,方便clickMe調(diào)用nameEntered.grid(column=0, row=1) # 設(shè)置其在界面中出現(xiàn)的位置nameEntered.focus() # 當(dāng)程序運(yùn)行時(shí),光標(biāo)默認(rèn)會(huì)出現(xiàn)在該文本框中# 一個(gè)下拉列表number = tk.StringVar()numberChosen = ttk.Combobox(win, width=12, textvariable=number, state=’readonly’)numberChosen[’values’] = (1, 2, 4, 42, 100) # 設(shè)置下拉列表的值numberChosen.grid(column=1, row=1) # 設(shè)置其在界面中出現(xiàn)的位置 column代表列 row 代表行numberChosen.current(4) # 設(shè)置下拉列表默認(rèn)顯示的值,0為numberChosen[’values’] 的下標(biāo)值# 復(fù)選框chVarDis = tk.IntVar() # 用來獲取復(fù)選框是否被勾選,通過chVarDis.get()來獲取其的狀態(tài), #其狀態(tài)值為int類型 勾選為1 未勾選為0check1 = tk.Checkbutton(win, text='Disabled', variable=chVarDis, state=’disabled’) # text為復(fù)選框 #后面的名稱,variable將該復(fù)選框的狀態(tài)賦值給一個(gè)變量,當(dāng)state=’disabled’時(shí), #該復(fù)選框?yàn)榛疑荒茳c(diǎn)的狀態(tài)check1.select() # 該復(fù)選框是否勾選,select為勾選, deselect為不勾選check1.grid(column=0, row=4, sticky=tk.W) # sticky=tk.W 當(dāng)該列中其他行或該行中的其他列的 #某一個(gè)功能拉長(zhǎng)這列的寬度或高度時(shí),設(shè)定該值可以保證本行保持左對(duì)齊, #N:北/上對(duì)齊 S:南/下對(duì)齊 W:西/左對(duì)齊 E:東/右對(duì)齊chvarUn = tk.IntVar()check2 = tk.Checkbutton(win, text='UnChecked', variable=chvarUn)check2.deselect()check2.grid(column=1, row=4, sticky=tk.W)chvarEn = tk.IntVar()check3 = tk.Checkbutton(win, text='Enabled', variable=chvarEn)check3.select()check3.grid(column=2, row=4, sticky=tk.W)win.mainloop() # 當(dāng)調(diào)用mainloop()時(shí),窗口才會(huì)顯示出來
補(bǔ)充知識(shí):【tkinter】填坑 解決Entry、Label不能修改text、image等屬性的問題
tkinter中定義一個(gè)輸入,如:
input =Entry(root).pack()
不等于以下定義
input =Entry(root) input.pack()
后者定義后直接布局,返回的不是Entry()控件本身,沒有entry所有的一些方法如get()等
按照前者定義 input =Entry(root).pack() 后,可利用input.get() 獲得輸入框的文本信息。
利用 input[’text’]可修改Entry()文本框的文本內(nèi)容。Label等控件同理,如法還可以修改Label[’image’]實(shí)現(xiàn)動(dòng)態(tài)顯示圖片等操作。
以上這篇python tkinter之 復(fù)選、文本、下拉的實(shí)現(xiàn)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP.NET MVC實(shí)現(xiàn)城市或車型三級(jí)聯(lián)動(dòng)2. IntelliJ IDEA設(shè)置條件斷點(diǎn)的方法步驟3. IntelliJ IDEA導(dǎo)入jar包的方法4. SSM框架JSP使用Layui實(shí)現(xiàn)layer彈出層效果5. ASP基礎(chǔ)入門第八篇(ASP內(nèi)建對(duì)象Application和Session)6. java基于spring boot本地上傳圖片示例解析7. UTF8轉(zhuǎn)成GB2312亂碼問題解決方案8. 一篇文章弄清楚Ajax請(qǐng)求的五個(gè)步驟9. Python利用百度地圖獲取兩地距離(附demo)10. 刪除docker里建立容器的操作方法
