首页 > 解决方案 > 如何在 Python 输入字段中添加整数

问题描述

所以当谈到在 Python 中创建 GUI 时,我是一个新手,我想知道如何在 Python 中禁用状态的输入字段中添加值/整数。我实际上在 Java 中做过同样的事情,但我似乎无法弄清楚如何从 Java 转换为 Python。

Java版

C_ID.setText(String.valueOf(Integer.parseInt(C_ID.getText())+1));

Python代码

# Title for the Registration Form
label = Label(window, text="Customer Registration System", width=30, height=1, bg="yellow", anchor="center")
label.config(font=("Courier", 10))
label.grid(column=2, row=1)

# Customer ID Label (Left)
ID_Label = Label(window, text="Customer ID:", width=14, height=1, bg="yellow", anchor="w")
ID_Label.config(font=("Courier", 10))
ID_Label.grid(column=1, row=2)

# Customer ID Input Field
C_ID = StringVar()
C_ID = Entry(window, textvariable=C_ID, text="1")
C_ID.insert(0, "1")
C_ID.config(state=DISABLED)
C_ID.grid(column=2, row=2)

额外信息:每次按下保存按钮时,我的代码都需要增加 1。

def save():
    if len(C_Name.get()) == 0 or len(C_Email.get()) == 0 or len(C_Birthday.get()) == 0 or len(
            C_Address.get()) == 0 or len(C_Contact.get()) == 0:
        msg_box("All Input Fields Must Be Complete", "Record")
    elif not check_email:
        msg_box("Please Input a Valid Email", "Record")
    elif not check_dateValid:
        msg_box("Please Input a Valid date", "Record")
    elif not check_minor:
        msg_box("Minors are Not Allowed to Register", "Record")
    else:
        msg_box("Save Record", "Record")

我尝试在这里使用此代码, C_ID.config(text=str(int(C_ID.get())+1))1

但无论我做什么,它似乎都没有添加。

标签: javapythonuser-interface

解决方案


您在代码中正确执行此操作。

您只需将配置设置为正常,设置文本,然后将配置设置回禁用。

C_ID.config(state=NORMAL) # sets config to normal
C_ID.delete(0, END) #deletes the current value in entry
C_ID.insert(0, "2")  # enters a new default value
C_ID.config(state=DISABLED) # sets config to disabled again

推荐阅读