##计算器界面
from tkinter import *
jisuanqi=Tk()
jisuanqi.title("计算器")
jisuanqi.geometry('350x330+400+150')
jisuanqi.attributes('-alpha',1)
jisuanqi['background']='#ffffff'
ziti1=('宋体',24)
ziti2=('宋体',20)
result=StringVar()
result.set('')
Label(jisuanqi,textvariable=result,font=ziti1,height=2,
width=20,justify=LEFT,anchor=SE,bg='#ffffff').grid(row=1,columnspan=4,column=1)
##按钮
button_qingchu=Button(jisuanqi,text='C',width=5,font=ziti2,relief=FLAT,
bg='#cc9909').grid(row=2,column=1,padx=3,pady=2) #清除
button_chufa=Button(jisuanqi,text='÷',width=5,font=ziti2,relief=FLAT,
bg='#ffffcc').grid(row=2,column=2,padx=3,pady=2) #除法
button_chengfa=Button(jisuanqi,text='×',width=5,font=ziti2,relief=FLAT,
bg='#ffffcc').grid(row=2,column=3,padx=3,pady=2) #乘法
button_huitui=Button(jisuanqi,text='←',width=5,font=ziti2,relief=FLAT,
bg='#ffffcc').grid(row=2,column=4,padx=3,pady=2) #回退
button_7=Button(jisuanqi,text='7',width=5,font=ziti2,relief=FLAT,
bg='#cccccc').grid(row=3,column=1,padx=3,pady=2) #数字7
button_8=Button(jisuanqi,text='8',width=5,font=ziti2,relief=FLAT,
bg='#cccccc').grid(row=3,column=2,padx=3,pady=2) #数字8
button_9=Button(jisuanqi,text='9',width=5,font=ziti2,relief=FLAT,
bg='#cccccc').grid(row=3,column=3,padx=3,pady=2) #数字9
button_jianhao=Button(jisuanqi,text='-',width=5,font=ziti2,relief=FLAT,
bg='#ffffcc').grid(row=3,column=4,padx=3,pady=2) #减号
button_4=Button(jisuanqi,text='4',width=5,font=ziti2,relief=FLAT,
bg='#cccccc').grid(row=4,column=1,padx=3,pady=2) #数字4
button_5=Button(jisuanqi,text='5',width=5,font=ziti2,relief=FLAT,
bg='#cccccc').grid(row=4,column=2,padx=3,pady=2) #数字5
button_6=Button(jisuanqi,text='6',width=5,font=ziti2,relief=FLAT,
bg='#cccccc').grid(row=4,column=3,padx=3,pady=2) #数字6
button_jiahao=Button(jisuanqi,text='+',width=5,font=ziti2,relief=FLAT,
bg='#ffffcc').grid(row=4,column=4,padx=3,pady=2) #加号
button_1=Button(jisuanqi,text='1',width=5,font=ziti2,relief=FLAT,
bg='#cccccc').grid(row=5,column=1,padx=3,pady=2) #数字1
button_2=Button(jisuanqi,text='2',width=5,font=ziti2,relief=FLAT,
bg='#cccccc').grid(row=5,column=2,padx=3,pady=2) #数字2
button_3=Button(jisuanqi,text='3',width=5,font=ziti2,relief=FLAT,
bg='#cccccc').grid(row=5,column=3,padx=3,pady=2) #数字3
button_baifenhao=Button(jisuanqi,text='%',width=5,font=ziti2,relief=FLAT,
bg='#cccccc').grid(row=6,column=1,padx=3,pady=2) #百分号
button_0=Button(jisuanqi,text='0',width=5,font=ziti2,relief=FLAT,
bg='#cccccc').grid(row=6,column=2,padx=3,pady=2) #数字0
button_xiaoshudian=Button(jisuanqi,text='.',width=5,font=ziti2,relief=FLAT,
bg='#cccccc').grid(row=6,column=3,padx=3,pady=2) #小数点
button_denghao=Button(jisuanqi,text='=',width=5,font=ziti2,relief=FLAT,
bg='#ffffcc',height=3).grid(rowspan=2,row=5,
column=4,padx=3,pady=2) #等号
##按钮功能
def click_button(x):
print('x:\t',x)
result.set(result.get()+x)
button_1.config(command=lambda:click_button('1'))
![](https://profile-avatar.csdnimg.cn/default.jpg!4)
最后的config为什么出错了
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- GISer Liu 2024-04-12 13:38关注
该回答引用自GPT-3.5,由博主GISer Liu编写:
根据你提供的代码,有几个问题需要解决:
- 按钮的
command
参数需要设置为相应的点击函数,但你的代码中缺少了这一步,导致按钮点击没有任何响应。 click_button
函数需要定义,用于处理按钮点击事件,将按钮对应的字符添加到显示结果上。click_button
函数中调用了button_1
,但是在函数内部没有定义button_1
,因此需要通过参数传递相应的按钮对象。
根据以上分析,下面是解决方案的大纲:
pythonCopy code
解决思路是首先定义一个点击事件处理函数# 定义按钮点击事件处理函数 def click_button(button, char): print('char:\t', char) result.set(result.get() + char) # 创建按钮并绑定点击事件 button_1 = Button(jisuanqi, text='1', width=5, font=ziti2, relief=FLAT, bg='#cccccc') button_1.grid(row=5, column=1, padx=3, pady=2) button_1.config(command=lambda: click_button(button_1, '1')) # 同样方式创建其他按钮并绑定点击事件 # 你需要在这里添加其他按钮的创建和绑定事件的代码
click_button
,然后创建每个按钮时,都将该函数与按钮的点击事件绑定。在点击事件发生时,按钮对象和对应的字符会被传递到click_button
函数中,然后根据传递进来的字符进行相应操作。
如果该回答解决了您的问题,请采纳!如果没有,请私信联系或评论您的疑惑
解决 无用评论 打赏 举报 - 按钮的
悬赏问题
- ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
- ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
- ¥15 特定网页无法访问,已排除网页问题
- ¥50 如何将脑的图像投影到颅骨上
- ¥15 提问一个关于vscode相关的环境配置问题,就是输入中文但是显示不出来,代码在idea可以显示中文,但在vscode不行,不知道怎么配置环境
- ¥15 netcore使用PuppeteerSharp截图
- ¥20 这张图页头,页脚具体代码该怎么写?
- ¥15 关于#sql#的问题,请各位专家解答!
- ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
- ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂