2 '''tkinter —— text''' 3 '''可選參數有: 4 background(bg) 文本框背景色; 5 foreground(fg) 前景色; 6 selectbackground 選定文本背景色; 7 selectforeground 選定文本前景色; 8 borderwidth(bd) 文本框邊框寬度; 9 font 字體; 10 show 文本框顯示的字符,若為*,表示文本框為密碼框; 11 state 狀態; 12 width 文本框寬度 13 textvariable 可變文本,與StringVar等配合着用 14 ''' 15 import tkinter as tk 16 import time 17 import threading 18 #初始化窗口 19 window = tk.Tk() 20 #窗口名稱 21 window.title("My Window") 22 #窗口大小,是 x 不是 * 23 window.geometry("400x400") 24 #不能改變窗口的大小 25 window.resizable(width=False,height=False) 26 text = tk.Text(window,width=40) 27 text.place(x=0,y=200) 28 num = 1 29 def hit_insert(): 30 content = entry.get() 31 text.insert("insert",content) 32 text_content() 33 def hit_end(): 34 content = entry.get() 35 text.insert("end",content) 36 text_content() 37 def text_content(): 38 global text,num 39 #從第一行,第0個字符開始,到最后 40 content = text.get("{}.0".format(num),"end") 41 #簡單實現自己跟自己說話,insert插入只能再后,不然會亂行 42 content = "\n機器人:" + content 43 text.insert("end",content) 44 #換行讀取 45 num += 2 46 def text_delete(): 47 global num 48 #清除文本里面的所有內容 49 text.delete("1.0".format(str(num)),"end") 50 #行數也要清楚 51 num = 1 52 #分別將兩個按鈕回調不用的函數 53 button_insert = tk.Button(window,text='insert point',command=hit_insert) 54 button_insert.pack() 55 button_end = tk.Button(window,text="insert end",command=hit_end) 56 #將end按鈕置於insert按鈕后面 57 button_end.pack(after=button_insert) 58 #創建清空text的按鈕 59 button_delete = tk.Button(window,text="text delete",command=text_delete) 60 #將delete按鈕置於end按鈕后面 61 button_delete.pack(after=button_end) 62 #創建編輯框,以便輸入的內容,放到文本框里 63 entry = tk.Entry(window) 64 #將entry編輯框置於insert前面 65 entry.pack(before=button_insert) 66 #循環窗口 67 window.mainloop()


