在tkinter中,文本框被稱為Entry
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import tkinter as tk
from tkinter import ttk
win = tk.Tk()
win.title("Python GUI") # 添加標題
aLabel = ttk.Label(win, text="A Label") # 創建一個標簽, text:顯示表現的內容
aLabel.grid(column=0, row=0)
def clickMe(): # 當acction被點擊時,該函數則生效
action.configure(text='Hello ' + name.get()) # 設置button顯示的內容
action = ttk.Button(win, text="Click Me!", command=clickMe) # 創建一個按鈕, text:顯示按鈕上面顯示的文字, command:當這個按鈕被點擊之后會調用command函數
action.grid(column=1, row=1)
ttk.Label(win, text="Enter a name:").grid(column=0, row=0)
name = tk.StringVar() # StringVar是Tk庫內部定義的字符串變量類型,在這里用于管理部件上面的字符;不過一般用在按鈕button上。改變StringVar,按鈕上的文字也隨之改變。
nameEntered = ttk.Entry(win, width=12, textvariable=name) # 創建一個文本框,定義長度為12個字符長度,并且將文本框中的內容綁定到上一句定義的name變量上,方便clickMe調用
nameEntered.grid(column=0, row=1)
win.mainloop() # 當調用mainloop()時,窗口才會顯示出來
執行上面代碼得到下面的界面
點擊按鈕前:
2194934.png
在文本框中輸入內容,點擊按鈕后:
2342573.png
注:執行代碼之后,如果文本框中輸入的字符超過文本框定義的大小,則只顯示設置數量的字符,由于button沒有設置大小,當點擊button按鈕之后,按鈕會被拉長
2905362.png