python tkinter之 復(fù)選、文本、下拉的實(shí)現(xiàn)
我就廢話不多說(shuō)了,直接看代碼吧!
import tkinter as tk from tkinter import ttk win = tk.Tk() win.title("Python GUI") # 添加標(biāo)題 ttk.Label(win, text="Chooes a number").grid(column=1, row=0) # 添加一個(gè)標(biāo)簽0 ttk.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庫(kù)內(nèi)部定義的字符串變量類型,在這里用于管理 #部件上面的字符;不過(guò)一般用在按鈕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() # 用來(lái)獲取復(fù)選框是否被勾選,通過(guò)chVarDis.get()來(lái)獲取其的狀態(tài), #其狀態(tài)值為int類型 勾選為1 未勾選為0 check1 = tk.Checkbutton(win, text="Disabled", variable=chVarDis, state='disabled') # text為復(fù)選框 #后面的名稱,variable將該復(fù)選框的狀態(tài)賦值給一個(gè)變量,當(dāng)state='disabled'時(shí), #該復(fù)選框?yàn)榛疑?,不能點(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ì)顯示出來(lái)
補(bǔ)充知識(shí):【tkinter】填坑 解決Entry、Label不能修改text、image等屬性的問(wèn)題
tkinter中定義一個(gè)輸入,如:
input =Entry(root).pack()
不等于以下定義
input =Entry(root) input.pack()
后者定義后直接布局,返回的不是Entry()控件本身,沒(méi)有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è)參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于Python文本生成的Beam?Search解碼問(wèn)題
這篇文章主要介紹了Python文本生成的Beam?Search解碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07關(guān)于Django使用 django-celery-beat動(dòng)態(tài)添加定時(shí)任務(wù)的方法
本文給大家介紹Django使用 django-celery-beat動(dòng)態(tài)添加定時(shí)任務(wù)的方法,安裝對(duì)應(yīng)的是celery版本,文中給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-10-10python利用openpyxl拆分多個(gè)工作表的工作簿的方法
這篇文章主要介紹了python利用openpyxl拆分多個(gè)工作表的工作簿的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09Python利用xmltodict模塊實(shí)現(xiàn)處理XML數(shù)據(jù)
理解和處理XML數(shù)據(jù)在Python中是一項(xiàng)常見(jiàn)任務(wù),xmltodict便是一個(gè)Python庫(kù),用于將XML數(shù)據(jù)解析為易于處理的Python字典,下面我們就來(lái)學(xué)習(xí)一下xmltodict庫(kù)的具體使用吧2023-11-11Python?Melt函數(shù)將寬格式的數(shù)據(jù)表轉(zhuǎn)換為長(zhǎng)格式
在數(shù)據(jù)處理和清洗中,melt函數(shù)是Pandas庫(kù)中一個(gè)強(qiáng)大而靈活的工具,它的主要功能是將寬格式的數(shù)據(jù)表轉(zhuǎn)換為長(zhǎng)格式,從而更方便進(jìn)行分析和可視化,本文將深入探討melt函數(shù)的用法、參數(shù)解析以及實(shí)際應(yīng)用場(chǎng)景2023-12-12Python關(guān)鍵字之global與nonlocal
這篇文章主要為大家詳細(xì)介紹了Python關(guān)鍵字之global與nonlocal,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-03-03教你使用Python建立任意層數(shù)的深度神經(jīng)網(wǎng)絡(luò)
這篇文章主要介紹了Python建立任意層數(shù)的深度神經(jīng)網(wǎng)絡(luò),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08Python基于LightGBM進(jìn)行時(shí)間序列預(yù)測(cè)
LightGBM是擴(kuò)展機(jī)器學(xué)習(xí)系統(tǒng)。是一款基于GBDT(梯度提升決策樹(shù))算法的分布梯度提升框架。其設(shè)計(jì)思路主要集中在減少數(shù)據(jù)對(duì)內(nèi)存與計(jì)算性能的使用上,以及減少多機(jī)器并行計(jì)算時(shí)的通訊代價(jià)。本文將通過(guò)LightGBM進(jìn)行時(shí)間序列預(yù)測(cè),感興趣的可以了解一下2022-03-03