Custom Tkinter计算器括号按钮显示错误字符问题求助
解决Custom Tkinter计算器右括号按钮显示错误问题
你遇到的问题是笔误导致的:在重构后的代码中,右括号按钮的text参数被错误设置为左括号"(",而非预期的")"。
错误代码位置
查看这段代码:
bracket1 = customtkinter.CTkButton(master=root, text="(", command=print_bracket1).place(x=160, y=210)
此处text="("是错误的,需要修正为text=")"。
修正后的代码
将该行修改为:
bracket1 = customtkinter.CTkButton(master=root, text=")", command=print_bracket1).place(x=160, y=210)
额外优化建议
- 减少重复代码:可以用列表存储按钮的文本、命令、位置信息,通过循环批量创建按钮,降低冗余:
buttons = [ ("1", print_one, 10, 10), ("2", print_two, 160, 10), ("3", print_three, 310, 10), # ... 其他按钮信息 ("(", print_bracket, 10, 210), (")", print_bracket1, 160, 210), # ... ] for text, cmd, x, y in buttons: customtkinter.CTkButton(master=root, text=text, command=cmd).place(x=x, y=y)
规避
eval安全风险:直接使用eval()处理用户输入存在被注入恶意代码的隐患,建议替换为ast.literal_eval()或专门的表达式解析库(如sympy)。修复界面布局溢出:你设置的窗口尺寸为200x300,但按钮x坐标最大到310、输入框y坐标到450,会导致控件超出窗口范围。建议调整窗口大小(比如设为350x500)或控件位置,确保所有元素正常显示。
内容的提问来源于stack exchange,提问作者frosted flakes
相关产品推荐
相关产品推荐

