#Python3中tkinter程式設計中Text.delete
阿新 • • 發佈:2018-11-28
Python3中tkinter程式設計中Text.delete詳解
def delete(self, index1, index2=None):
"""Delete the characters between INDEX1 and INDEX2 (not included)."""
self.tk.call(self._w, 'delete', index1, index2)
text.delete(index1, index2)
index1, index2 必須為 n.n的形式,n.n 表示第n行的第n個下標,不然會報錯。列如(1.2 ,2.4)
而且 index1 要小於 index2
##清除呼叫者text中的內容,防止下一次判斷的時候重複列印上次的內容
##0.0代表的是小標為第0行的第0個元素,後面的tkinter.END表示末尾,
##delete(index1, index2=None)表示從刪除index1到index2的元素,但不包括index2,
##而且,文字框中index1實際是從1.0 開始的,( 0.n 來說是比文字內容還要上一行,超過文字框或者文字框開頭)
##比如(0.1,1.0)就沒有效果,因為不包括index2,取不到index2
##必須打(0.1,2.0),刪除第一行的內容,因為0.1相當於1.0
##而(1.2,1.4)則為刪除第一行從下標2開始, 到下標為4的元素之前
這裡插入GIF圖
點選多選框後執行 text.delete(index1, index2),刪除文字內容,防止內容重複
調節(index1, index2)來確定刪除的內容
這裡就直接用我一篇文章中的多選框的內容來解釋,下面 text.delete(1.0,tkinter.END) 進行測試
import tkinter
win = tkinter.Tk() #建立主視窗
win.title("小姐姐") #設定視窗標題
win.geometry("160x200+400+200") #設定大小和位置 前面為 長x寬 中間為小寫x
#後面的引數為距離螢幕的左邊邊框400,距離上邊框200
"" "
CheckButton:多選框控制元件
thinter.CheckButton
"""
def updata(): #點選多選框判斷選擇了誰,
mssage = "" #定義一個空的str字串
if hobby1.get()== True: #當hobby1選項框的選中,則mssage變數加上字串"money\n" 並換行
mssage += "money\n"+"money\n"+"money\n"
if hobby2.get()== True:
mssage += "power\n"
if hobby3.get()== True:
mssage += "people\n"
text.delete(1.0,tkinter.END) #清除呼叫者text中的內容,防止下一次判斷的時候重複列印上次的內容
#0.0代表的是小標為第0行的第0個元素,後面的tkinter.END表示末尾,
# delete(index1, index2=None)表示從刪除index1到index2的元素,但不包括index2,
#注意這裡index1, index2必須為浮點數 n.n 表示第n行的第n個下標,
#而且,文字框中index1實際是從1.0 開始的,( 0.n 來說是比文字內容還要上一行,超過文字框或者文字框開頭)
#比如(0.1,1.0)就沒有效果,因為不包括index2,取不到index2
#必須打(0.1,2.0),刪除第一行的內容,因為0.1相當於1.0
#而(1.2,1.4)則為刪除第一行從下標2開始, 到下標為4的元素之前
text.insert(tkinter.INSERT,mssage) #將mssage的內容傳給下文的text文字框
hobby1 = tkinter.BooleanVar() #定義變數hobby1(布林型別的變數,只會返回True和False),
hobby2 = tkinter.BooleanVar() #用來給多選框繫結變數,讓計算機知道我們選擇的哪一個內容
hobby3 = tkinter.BooleanVar() #相當於css裡面的<input type="checkbox" checked=""/>
# checked設定或返回 checkbox 是否應被選中。
check1 = tkinter.Checkbutton(win,text="money",variable= hobby1,command = updata)
#tkinter.Checkbutton建立名為check1的複選框
check2 = tkinter.Checkbutton(win,text="power",variable= hobby2,command = updata)
#command當選擇框點選的時候,執行update函式
check3 = tkinter.Checkbutton(win,text="people",variable= hobby3,command = updata)
#variable= hobby3 將這個複選框繫結一個名為hobby3的布林變數(variable)
text = tkinter.Text(win,width=50,height=5) #設定用來接收上文的updata()函式的返回值
check1.pack()
check2.pack()
check3.pack()
text.pack()
win.mainloop() # mainloop則是主視窗的成員函式,也就是讓這個視窗工作起來,
# 並接收滑鼠的和鍵盤的操作