#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则是主窗口的成员函数,也就是让这个窗口工作起来,
                        # 并接收鼠标的和键盘的操作

猜你喜欢

转载自blog.csdn.net/weixin_43097301/article/details/84206539