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