日理万机的杨总 2022-08-21 10:24 采纳率: 25%
浏览 19

使用tkinter完成的一个系统,在删除时出错了

问题遇到的现象和发生背景

使用tkinter完成的一个系统,在删除时出错了

问题相关代码,请勿粘贴截图
def delete():
    print("删除")
    winNew8 = tk.Toplevel()
    winNew8.geometry(align_str)  # 设置窗口大小 和原窗口一致
    winNew8.resizable(width=True, height=True)
    # 设置窗口是否可变长、宽,True:可变,False:不可变
    winNew8.title('删除信息模式')
    label_a = tk.Label(winNew8, text="学生选修课程系统设计", bg="#00BFFF", fg="red", font=("宋体", 30), relief=GROOVE).pack()
    label_b = tk.Label(winNew8, text="---------学生选课系统---------", font=("宋体", 20)).pack()
    # 定义上面的窗口界面
    # 定义下面二种查询方式   通过姓名查询  或者通过课程查询  其他方式没想到
    label_19 = tk.Label(winNew8, text="按学生姓名删除:", font=("宋体", 10))
    label_19.place(relx=0.25, rely=0.3)
    label_20 = tk.Label(winNew8, text="按课程名字删除:", font=("宋体", 10))
    label_20.place(relx=0.25, rely=0.4)
    # 定义二个输入输入框
    inp21 = tk.Entry(winNew8)
    inp21.place(relx=0.45, rely=0.3)  # 学生姓名传值
    inp22 = tk.Entry(winNew8)
    inp22.place(relx=0.45, rely=0.4)  # 学生学号传值
    # 定义二个确定按钮
    btn4 = tk.Button(winNew8, text="确定", command=lambda: namedelete(inp21.get(), inp21, text5))  # 学生姓名确定
    btn4.place(relx=0.75, rely=0.28)
    btn5 = tk.Button(winNew8, text="确定", command=lambda: classdelete(inp22.get(), inp22, text5))  # 课程姓名确定
    btn5.place(relx=0.75, rely=0.39)
    # 写一个备注ps
    ps = tk.Label(winNew8, text="PS:若文本框未显出信息,则该学生选课信息未成功保存,请重试!", font=("宋体", 10))
    ps.place(relx=0, rely=0.52)
    # 定义一个关闭按钮
    btClose4 = tk.Button(winNew8, text='关闭', command=winNew8.destroy)  # 取消按钮
    btClose4.place(relx=0.75, rely=0.5)
    # 定义下面的文本框
    text5 = tk.Text(winNew8, bg="#d3fbfb")
    text5.place(rely=0.6)

def classdelete(i22, inp22, text5):  # 按照课程号来删除,
    print(i22)  # 检验传值是否成功
    with open("D://课程//课程信息.txt", "r") as ff:  # 遍历这个txt把
        for i in ff:
            if i22:
                if str(i22) in i:
                    i = str(i);
                    #print(i) #课程编号:1    课程名称:1    课程性质:1    任课老师:1    课程学分:1    开课时间:1
                    #text5.get(1.0,tk.END)
                    text5.delete(i+".0",tk.END)
                    #text5.delete("1.0",END)
                    inp22.delete(1, tk.END)

运行结果及报错内容

in delete
self.tk.call(self._w, 'delete', index1, index2)
_tkinter.TclError: bad text index "课程编号:1课程名称:1课程性质:1任课老师:1课程学分:1开课时间:1
.0"

我的解答思路和尝试过的方法

不知道怎么解决

我想要达到的结果

能解决删除问题

  • 写回答

3条回答 默认 最新

  • Python-ZZY 2022-08-21 10:31
    关注

    应该是文件的问题,把txt内容附出来

    评论

报告相同问题?

问题事件

  • 创建了问题 8月21日

悬赏问题

  • ¥15 ArcGIS批量裁剪
  • ¥15 labview程序设计
  • ¥15 为什么在配置Linux系统的时候执行脚本总是出现E: Failed to fetch http:L/cn.archive.ubuntu.com
  • ¥15 Cloudreve保存用户组存储空间大小时报错
  • ¥15 伪标签为什么不能作为弱监督语义分割的结果?
  • ¥15 编一个判断一个区间范围内的数字的个位数的立方和是否等于其本身的程序在输入第1组数据后卡住了(语言-c语言)
  • ¥15 游戏盾如何溯源服务器真实ip?
  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥50 win10链接MySQL