您好,登錄后才能下訂單哦!
小編給大家分享一下python中tkinter之 復選、文本、下拉的實現方法,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
代碼如下
import tkinter as tk from tkinter import ttk win = tk.Tk() win.title("Python GUI") # 添加標題 ttk.Label(win, text="Chooes a number").grid(column=1, row=0) # 添加一個標簽0 ttk.Label(win, text="Enter a name:").grid(column=0, row=0) # 設置其在界面中出現的位置 # button被點擊之后會被執行 def clickMe(): # 當acction被點擊時,該函數則生效 action.configure(text='Hello ' + name.get() + ' ' + numberChosen.get())#設置button顯示的內容 print('check3 is %d %s' % (chvarEn.get(), type(chvarUn.get()))) action = ttk.Button(win, text="Click Me!", command=clickMe) # 創建一個按鈕, text:顯示按 action.grid(column=2, row=1) # 設置其在界面中出現的位置 # 文本框 name = tk.StringVar() # StringVar是Tk庫內部定義的字符串變量類型,在這里用于管理 #部件上面的字符;不過一般用在按鈕button上。改變StringVar,按鈕上的文字也隨之改變。 nameEntered = ttk.Entry(win, width=12, textvariable=name) # 創建一個文本框,字符長度為12, #內容綁定到name,方便clickMe調用 nameEntered.grid(column=0, row=1) # 設置其在界面中出現的位置 nameEntered.focus() # 當程序運行時,光標默認會出現在該文本框中 # 一個下拉列表 number = tk.StringVar() numberChosen = ttk.Combobox(win, width=12, textvariable=number, state='readonly') numberChosen['values'] = (1, 2, 4, 42, 100) # 設置下拉列表的值 numberChosen.grid(column=1, row=1) # 設置其在界面中出現的位置 column代表列 row 代表行 numberChosen.current(4) # 設置下拉列表默認顯示的值,0為numberChosen['values'] 的下標值 # 復選框 chVarDis = tk.IntVar() # 用來獲取復選框是否被勾選,通過chVarDis.get()來獲取其的狀態, #其狀態值為int類型 勾選為1 未勾選為0 check1 = tk.Checkbutton(win, text="Disabled", variable=chVarDis, state='disabled') # text為復選框 #后面的名稱,variable將該復選框的狀態賦值給一個變量,當state='disabled'時, #該復選框為灰色,不能點的狀態 check1.select() # 該復選框是否勾選,select為勾選, deselect為不勾選 check1.grid(column=0, row=4, sticky=tk.W) # sticky=tk.W 當該列中其他行或該行中的其他列的 #某一個功能拉長這列的寬度或高度時,設定該值可以保證本行保持左對齊, #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() # 當調用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()文本框的文本內容。Label等控件同理,如法還可以修改Label['image']實現動態顯示圖片等操作。
看完了這篇文章,相信你對“python中tkinter之 復選、文本、下拉的實現方法”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。