hhl987805837 2024-04-12 12:04 采纳率: 66.7%
浏览 7

最后的config为什么出错了


##计算器界面
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'))

  • 写回答

4条回答 默认 最新

  • GISer Liu 2024-04-12 13:38
    关注

    该回答引用自GPT-3.5,由博主GISer Liu编写:

    根据你提供的代码,有几个问题需要解决:

    1. 按钮的 command 参数需要设置为相应的点击函数,但你的代码中缺少了这一步,导致按钮点击没有任何响应。
    2. click_button 函数需要定义,用于处理按钮点击事件,将按钮对应的字符添加到显示结果上。
    3. 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
      函数中,然后根据传递进来的字符进行相应操作。

    如果该回答解决了您的问题,请采纳!如果没有,请私信联系或评论您的疑惑

    评论

报告相同问题?

问题事件

  • 创建了问题 4月12日

悬赏问题

  • ¥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三个简单题 不用太复杂