Python 如果entrybox为空,如何调用{if}语句中的函数?

Python 如果entrybox为空,如何调用{if}语句中的函数?,python,tkinter,Python,Tkinter,我将编写一个程序,用(123)计算一个数字,并向我显示它们的总和。但我想写一段代码,当按下(sum)按钮时,可以这样做:{如果字段没有任何整数类型的数字,则调用errorMsg函数,否则计算数字}但我不知道如何才能做到这一点。请帮忙 from tkinter import * frame = Tk() def textBoxes(): global e1 e1 = Entry(frame,justify=LEFT ) def labels(): var1

我将编写一个程序,用(123)计算一个数字,并向我显示它们的总和。但我想写一段代码,当按下(sum)按钮时,可以这样做:{如果字段没有任何整数类型的数字,则调用errorMsg函数,否则计算数字}但我不知道如何才能做到这一点。请帮忙

from tkinter import *
frame = Tk()
def textBoxes():
    global e1      
    e1 = Entry(frame,justify=LEFT )

def labels():  
    var1 = StringVar()
    var1.set("Enter first number: ")
    label1 = Label(frame, textvariable = var1)
    var3=StringVar()   
def errorMsg():
    msg = messagebox.showinfo("Please Enter Some Number!")      
def calculator():    
    #def __init__(self,String_value1,String_value2,sum_result)
    String_value1 = e1.get()
    Int_value1 = int(String_value1)    

   if not(String_value1.get()):
       errorMsg()
   else:
       sum_result = Int_value1 + 123   

def buttons():
    B1 = Button(frame, text="Sum", command=calculator)

buttons()
labels()
textBoxes()
frame.mainloop()

在您的计算器方法中,不要检查它是否为空,而是尝试对您的值进行操作,并在失败时捕获异常。它被称为

小片段,使用您的代码:

import tkinter as tk
from tkinter import messagebox

frame = tk.Tk()
var1 = tk.StringVar()
var3 = tk.StringVar()
ent1 = tk.Entry(frame,justify="left")
var1.set("Enter first number: ")
var3.set("Result")

def textBoxes():
    ent1.pack()

def labels():
    tk.Label(frame, textvariable=var3).pack()
    tk.Label(frame, textvariable=var1).pack()

def errorMsg():
    messagebox.showinfo("Error", "Please enter a valid number!")

def calculator():  
    try:
        user_input = int(ent1.get())   
        var3.set("Result = "+str(user_input+123))
    except ValueError:
        var3.set("Please enter a valid number!")
        errorMsg()

def buttons():
    tk.Button(frame, text="Sum", command=calculator).pack()

labels()
textBoxes()
buttons()

frame.mainloop()

你真的应该把它简化为一个简单的问题,这意味着什么?点击链接。尝试将代码缩减为一个较小的示例。问题不太清楚。好的,谢谢。我要做的就是去掉多余的标签。
import tkinter as tk
from tkinter import messagebox

frame = tk.Tk()
var1 = tk.StringVar()
var3 = tk.StringVar()
ent1 = tk.Entry(frame,justify="left")
var1.set("Enter first number: ")
var3.set("Result")

def textBoxes():
    ent1.pack()

def labels():
    tk.Label(frame, textvariable=var3).pack()
    tk.Label(frame, textvariable=var1).pack()

def errorMsg():
    messagebox.showinfo("Error", "Please enter a valid number!")

def calculator():  
    try:
        user_input = int(ent1.get())   
        var3.set("Result = "+str(user_input+123))
    except ValueError:
        var3.set("Please enter a valid number!")
        errorMsg()

def buttons():
    tk.Button(frame, text="Sum", command=calculator).pack()

labels()
textBoxes()
buttons()

frame.mainloop()