1. 程式人生 > >#Python3中tkinter程式設計中Text.delete

#Python3中tkinter程式設計中Text.delete

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則是主視窗的成員函式,也就是讓這個視窗工作起來, # 並接收滑鼠的和鍵盤的操作