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

【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 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd
  • ¥50 C# 使用DEVMOD设置打印机首选项
  • ¥15 麒麟V10 arm安装gdal
  • ¥20 OPENVPN连接问题