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)默認(rèn)會出現(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è)置下拉列表默認(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)賦值給一個變量,當(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)文章
python使用requests庫爬取拉勾網(wǎng)招聘信息的實現(xiàn)
這篇文章主要介紹了python使用requests庫爬取拉勾網(wǎng)招聘信息的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Python+OpenCV實戰(zhàn)之實現(xiàn)文檔掃描
這篇文章主要為大家詳細(xì)介紹了Python+Opencv如何實現(xiàn)文檔掃描的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-09-09
python 讀寫csv文件方式(創(chuàng)建,追加,覆蓋)
這篇文章主要介紹了python 讀寫csv文件方式(創(chuàng)建,追加,覆蓋),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05
pycharm安裝django框架詳細(xì)圖文教程(指定版本)
這篇文章主要給大家介紹了關(guān)于pycharm安裝django框架(指定版本)的相關(guān)資料,PyCharm是一種Python?IDE,帶有一整套可以幫助用戶在使用Python語言開發(fā)時提高其效率的工具,需要的朋友可以參考下2023-10-10

