Python Tkinter - 如何为我的计算器应用程序创建错误消息框
Python Tkinter - how to create an error message box for my calculator app
我正在使用 Python 和 Tkinter 制作计算器,但我的计算器出现问题。
我正在尝试创建一个错误消息框,如果将双重操作捆绑在一起(例如“--”、“+-”),该消息就会弹出。我基本上是想给我的程序添加一个限制,但我不知道如何实现它。我似乎无法获得正确的 try/except 块代码,而且我在将它放在哪里时遇到了问题。如果这对某人来说似乎是一个简单的问题,我深表歉意。这是因为我是编程领域的新手。
这是我的代码:
from tkinter import *
from PIL import Image, ImageTk
from tkinter import messagebox
# base
window = Tk()
window.title('Calculator')
window.geometry('258x455')
icon = ImageTk.PhotoImage(file='icon.png')
window.iconphoto(True, icon)
window.resizable(0, 0)
base_frame = Frame(window, bg='#292929', width=300, height=455)
window.config(background='#292929')
# functions
def btn_press(item):
global expression
expression = expression + str(item)
input_text.set(expression)
def clear():
global expression
expression = ''
input_text.set('')
def equal():
global expression
result = str(eval(expression))
input_text.set(result)
expression = ''
try:
# what code should I put in
# and where should I put my try/except code
except SyntaxError:
messagebox.showerror('Calculation Error', 'You cannot bundle two or more operations together.')
input_text = StringVar()
expression = ''
应该是围绕计算结果的代码。
def equal():
global expression
try:
result = str(eval(expression))
input_text.set(result)
expression = ''
except SyntaxError:
messagebox.showerror('Calculation Error', 'You cannot bundle two or more operations together.')
我正在使用 Python 和 Tkinter 制作计算器,但我的计算器出现问题。
我正在尝试创建一个错误消息框,如果将双重操作捆绑在一起(例如“--”、“+-”),该消息就会弹出。我基本上是想给我的程序添加一个限制,但我不知道如何实现它。我似乎无法获得正确的 try/except 块代码,而且我在将它放在哪里时遇到了问题。如果这对某人来说似乎是一个简单的问题,我深表歉意。这是因为我是编程领域的新手。
这是我的代码:
from tkinter import *
from PIL import Image, ImageTk
from tkinter import messagebox
# base
window = Tk()
window.title('Calculator')
window.geometry('258x455')
icon = ImageTk.PhotoImage(file='icon.png')
window.iconphoto(True, icon)
window.resizable(0, 0)
base_frame = Frame(window, bg='#292929', width=300, height=455)
window.config(background='#292929')
# functions
def btn_press(item):
global expression
expression = expression + str(item)
input_text.set(expression)
def clear():
global expression
expression = ''
input_text.set('')
def equal():
global expression
result = str(eval(expression))
input_text.set(result)
expression = ''
try:
# what code should I put in
# and where should I put my try/except code
except SyntaxError:
messagebox.showerror('Calculation Error', 'You cannot bundle two or more operations together.')
input_text = StringVar()
expression = ''
应该是围绕计算结果的代码。
def equal():
global expression
try:
result = str(eval(expression))
input_text.set(result)
expression = ''
except SyntaxError:
messagebox.showerror('Calculation Error', 'You cannot bundle two or more operations together.')