python tkinter之 復(fù)選、文本、下拉的實(shí)現(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) # 添加一個(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庫內(nèi)部定義的字符串變量類型,在這里用于管理
#部件上面的字符;不過一般用在按鈕button上。改變StringVar,按鈕上的文字也隨之改變。
nameEntered = ttk.Entry(win, width=12, textvariable=name) # 創(chuàng)建一個(gè)文本框,字符長度為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 未勾選為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è)功能拉長這列的寬度或高度時(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)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python使用requests庫爬取拉勾網(wǎng)招聘信息的實(shí)現(xiàn)
這篇文章主要介紹了python使用requests庫爬取拉勾網(wǎng)招聘信息的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
圖文詳解如何利用PyTorch實(shí)現(xiàn)圖像識(shí)別
這篇文章主要給大家介紹了關(guān)于如何利用PyTorch實(shí)現(xiàn)圖像識(shí)別的相關(guān)資料,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用PyTorch具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-04-04
Python+OpenCV實(shí)戰(zhàn)之實(shí)現(xiàn)文檔掃描
這篇文章主要為大家詳細(xì)介紹了Python+Opencv如何實(shí)現(xiàn)文檔掃描的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-09-09
python 讀寫csv文件方式(創(chuàng)建,追加,覆蓋)
這篇文章主要介紹了python 讀寫csv文件方式(創(chuàng)建,追加,覆蓋),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
pycharm安裝django框架詳細(xì)圖文教程(指定版本)
這篇文章主要給大家介紹了關(guān)于pycharm安裝django框架(指定版本)的相關(guān)資料,PyCharm是一種Python?IDE,帶有一整套可以幫助用戶在使用Python語言開發(fā)時(shí)提高其效率的工具,需要的朋友可以參考下2023-10-10

