首页 > 解决方案 > Python 3.8.2 中的 Tkinter IntVar() 和 DoubleVar() 错误

问题描述

我正在编写一个程序来使用 Tkinter 和 python 3.8.2 显示来自条目的整数值但是当我在数字之前输入零并且如果我输入 08 它的显示错误并且如果我输入 8 它正在工作这里是代码`

from tkinter import *

win = Tk()
win.geometry("300x400")
win.title("My Gui")
win.resizable(0, 0)
text_var = IntVar(win)  # DoubleVar(win)
show_var = StringVar(win)


def show():
    try:
        r = text_var.get()
        show_var.set(r)
    except:
        show_var.set("Enter Number only")


get_text = Entry(win, textvariable=text_var, bd=3).grid(row=0, column=0, padx=15, pady=15)
btn = Button(win, text="Click", activebackground="red", command=show).grid(row=0, column=1)
show_text = Label(win, textvariable=show_var).grid(row=1, column=0, columnspan=2)

win.mainloop()

` 在此处输入图像描述

在此处输入图像描述

标签: pythonpython-3.xtkinter

解决方案


用于lstrip删除前导零:

def show():
    try:
        r = text_var.get()
        r.lstrip('0')
        show_var.set(r)
    except:
        show_var.set("Enter Number only")

(strip 删除前导零和尾随零。)


推荐阅读