为了账号安全,请及时绑定邮箱和手机立即绑定

如何更新 Tkinter 中按钮上的图像?

如何更新 Tkinter 中按钮上的图像?

慕雪6442864 2023-06-27 10:38:57
当我单击“apply_but”按钮时,我希望更新此按钮上的图片。但这不起作用。另一个问题是,当我打开此窗口时 - “噪声插入”也可以使用“曲线”方法,并打开另一个带有标签“您在寻找什么?”的窗口。但此方法仅在单击“img_but”按钮后才有效。class Noise(Toplevel):    def __init__(self, pic):        super().__init__()        w = self.winfo_screenwidth() // 2 - 300  # ширина экрана        h = self.winfo_screenheight() // 2 - 300  # высота экрана        self.geometry('600x600+{}+{}'.format(w, h))        self.title('Noise insertion')        self.resizable(width=False, height=False)        self['bg'] = '#7be8cf'        Label(self, text='Noise insertion', font=('Comic Sans MS', 20),                       fg='#3d3d42', bg='#7be8cf').place(x=200, y=0)        var = IntVar()        var.set(0)        var2 = IntVar()        var2.set(0)        self.yes_but = Radiobutton(self, text="Yes", variable=var, value=0,                               font=('Comic Sans MS', 20),                               width='10', height='1', activebackground='#e6f547',                               bg='#7be8cf')        self.no_but = Radiobutton(self, text="No", variable=var, value=1,                              font=('Comic Sans MS', 20),                              width='10', height='1', activebackground='#e6f547',                              bg='#7be8cf')        self.salt_but = Radiobutton(self, text="salt and peper", variable=var2, value=0,                                font=('Comic Sans MS', 20),                                width='10', height='1', activebackground='#e6f547',                                bg='#7be8cf')        self.gauss_but = Radiobutton(self, text="gauss noise", variable=var2, value=1,                                 font=('Comic Sans MS', 20),                                 width='10', height='1', activebackground='#e6f547',                                 bg='#7be8cf')
查看完整描述

1 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

命令不应该直接调用函数- 相反,它们应该命名激活时要调用的函数。

尝试替换这个:command=self.update_pic(pic)

有了这个:command = lambda pic=pic: self.update_pic(pic)

和这个:command = self.curves()

有了这个:command = self.curves


查看完整回答
反对 回复 2023-06-27
  • 1 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信