python tkinter之 復(fù)選、文本、下拉的實現(xiàn)
我就廢話不多說了,直接看代碼吧!
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) # 添加一個標(biāo)簽0
ttk.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 未勾選為0
check1 = 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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于Python文本生成的Beam?Search解碼問題
這篇文章主要介紹了Python文本生成的Beam?Search解碼,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07
關(guān)于Django使用 django-celery-beat動態(tài)添加定時任務(wù)的方法
本文給大家介紹Django使用 django-celery-beat動態(tài)添加定時任務(wù)的方法,安裝對應(yīng)的是celery版本,文中給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2021-10-10
python利用openpyxl拆分多個工作表的工作簿的方法
這篇文章主要介紹了python利用openpyxl拆分多個工作表的工作簿的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Python利用xmltodict模塊實現(xiàn)處理XML數(shù)據(jù)
理解和處理XML數(shù)據(jù)在Python中是一項常見任務(wù),xmltodict便是一個Python庫,用于將XML數(shù)據(jù)解析為易于處理的Python字典,下面我們就來學(xué)習(xí)一下xmltodict庫的具體使用吧2023-11-11
Python?Melt函數(shù)將寬格式的數(shù)據(jù)表轉(zhuǎn)換為長格式
在數(shù)據(jù)處理和清洗中,melt函數(shù)是Pandas庫中一個強大而靈活的工具,它的主要功能是將寬格式的數(shù)據(jù)表轉(zhuǎn)換為長格式,從而更方便進行分析和可視化,本文將深入探討melt函數(shù)的用法、參數(shù)解析以及實際應(yīng)用場景2023-12-12
Python關(guān)鍵字之global與nonlocal
這篇文章主要為大家詳細介紹了Python關(guān)鍵字之global與nonlocal,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03
教你使用Python建立任意層數(shù)的深度神經(jīng)網(wǎng)絡(luò)
這篇文章主要介紹了Python建立任意層數(shù)的深度神經(jīng)網(wǎng)絡(luò),本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-08-08

