宏宇ya 2022-03-24 11:28 采纳率: 42.9%
浏览 37
已结题

【python】tkinter写的一个数字键盘,为什么我的删除按钮,删除不了数字

为什么我点击“←”按钮,却无法删除输入的数字??
# -----------------------------------------------------
    def create_btn(text, col, row, cs, rs, px=(1, 1), py=(1, 1)):  # 函数生成按钮
        t = text
        a = tkinter.Button(root2, text=text, width=4, command=lambda: (text_print(t)))
        a.grid(column=col, row=row, columnspan=cs, rowspan=rs, padx=px, pady=py, sticky='nswe')
        return a

        # print(entry_usr_name.select_present())

    def text_print(x):  # 函数按钮输入算式

        if str(x) == '←':
            x = str(x)[0:-1]

        # 返回有焦点的输入框对象
        en = entry_usr_name.focus_get() or entry_usr_pwd.focus_get()
        # 插入数字
        en.insert("end",x)

    btn = {}  # 生成按钮
    btn['1'] = create_btn('1', 0, 5, 1, 1)
    btn['2'] = create_btn('2', 1, 5, 1, 1)
    btn['3'] = create_btn('3', 2, 5, 1, 1)
    btn['4'] = create_btn('4', 0, 4, 1, 1)
    btn['5'] = create_btn('5', 1, 4, 1, 1)
    btn['6'] = create_btn('6', 2, 4, 1, 1)
    btn['7'] = create_btn('7', 0, 3, 1, 1)
    btn['8'] = create_btn('8', 1, 3, 1, 1)
    btn['9'] = create_btn('9', 2, 3, 1, 1)
    btn['0'] = create_btn('0', 0, 6, 2, 1)
    btn['←'] = create_btn('←', 2, 6, 1, 1)


    # ----------------------------------------------------

img

  • 写回答

1条回答 默认 最新

  • ~白+黑 Python领域新星创作者 2022-03-24 12:20
    关注

    先把内容 get出来,删除以后再插入回去,

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月1日
  • 已采纳回答 3月24日
  • 创建了问题 3月24日

悬赏问题

  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿