python tkinter之 復(fù)選、文本、下拉的實現(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) # 添加一個標(biāo)簽0ttk.Label(win, text='Enter a name:').grid(column=0, row=0) # 設(shè)置其在界面中出現(xiàn)的位置# button被點擊之后會被執(zhí)行def clickMe(): # 當(dāng)acction被點擊時,該函數(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)建一個按鈕, 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)建一個文本框,字符長度為12, #內(nèi)容綁定到name,方便clickMe調(diào)用nameEntered.grid(column=0, row=1) # 設(shè)置其在界面中出現(xiàn)的位置nameEntered.focus() # 當(dāng)程序運行時,光標(biāo)默認會出現(xiàn)在該文本框中# 一個下拉列表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è)置下拉列表默認顯示的值,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)賦值給一個變量,當(dāng)state=’disabled’時, #該復(fù)選框為灰色,不能點的狀態(tài)check1.select() # 該復(fù)選框是否勾選,select為勾選, deselect為不勾選check1.grid(column=0, row=4, sticky=tk.W) # sticky=tk.W 當(dāng)該列中其他行或該行中的其他列的 #某一個功能拉長這列的寬度或高度時,設(shè)定該值可以保證本行保持左對齊, #N:北/上對齊 S:南/下對齊 W:西/左對齊 E:東/右對齊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()時,窗口才會顯示出來
補充知識:【tkinter】填坑 解決Entry、Label不能修改text、image等屬性的問題
tkinter中定義一個輸入,如:
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’]實現(xiàn)動態(tài)顯示圖片等操作。
以上這篇python tkinter之 復(fù)選、文本、下拉的實現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. PHP正則表達式函數(shù)preg_replace用法實例分析2. 一個 2 年 Android 開發(fā)者的 18 條忠告3. vue使用moment如何將時間戳轉(zhuǎn)為標(biāo)準(zhǔn)日期時間格式4. js select支持手動輸入功能實現(xiàn)代碼5. Android 實現(xiàn)徹底退出自己APP 并殺掉所有相關(guān)的進程6. Android studio 解決logcat無過濾工具欄的操作7. 什么是Python變量作用域8. vue-drag-chart 拖動/縮放圖表組件的實例代碼9. Spring的異常重試框架Spring Retry簡單配置操作10. Vue實現(xiàn)仿iPhone懸浮球的示例代碼
