Python 在循环内创建pyQt按钮连接
我是pyqt(maya中的pyside)的新手,请对我好一点:) 重点是我想通过循环语句生成多个按钮,类似如下: (窗口中的5个按钮-完整代码-maya)Python 在循环内创建pyQt按钮连接,python,qt,pyqt,maya,Python,Qt,Pyqt,Maya,我是pyqt(maya中的pyside)的新手,请对我好一点:) 重点是我想通过循环语句生成多个按钮,类似如下: (窗口中的5个按钮-完整代码-maya) 如您所见,我将button对象存储在数组中,但问题是,当我想将btn信号与notifyMe函数连接时,每个按钮总是给出x相同的值(x=4),同时在button.setTextx success中给出唯一的增量值,我不明白为什么..这是lambda中函数的老问题-当您声明函数时,它不会从x中获取值,但当您单击按钮时。但当您单击按钮时,循环的结束
如您所见,我将button对象存储在数组中,但问题是,当我想将btn信号与notifyMe函数连接时,每个按钮总是给出x相同的值(x=4),同时在button.setTextx success中给出唯一的增量值,我不明白为什么..这是
lambda
中函数的老问题-当您声明函数时,它不会从x
中获取值,但当您单击按钮时。但当您单击按钮时,循环的结束,并且x
保留最后一个值-这样所有按钮都使用相同的值。你必须使用
lambda a=x: self.notifyMe(a)
这是lambda
中函数的老问题-当您声明函数时,它不会从x
中获取值,但当您单击按钮时。但当您单击按钮时,循环的结束,并且x
保留最后一个值-这样所有按钮都使用相同的值。你必须使用
lambda a=x: self.notifyMe(a)
谢谢furas,你解释得很好!我不得不将其更改为包含checked
参数,该参数clicked()
通过。例如,lambda选中,a=x:self.notifyMe(a)
,根据问题@Swedgin中的注释,这是一个非常古老的问题,代码使用的是PySide
,我记得它使用的是PyQt4
,它的工作方式可能与PyQt5
中的工作方式不同,我只为未来的访问者提及它。我用的是PyQt5自动取款机。谢谢furas,你解释得很好!我不得不将其更改为包含checked
参数,该参数clicked()
通过。例如,lambda选中,a=x:self.notifyMe(a)
,根据问题@Swedgin中的注释,这是一个非常古老的问题,代码使用的是PySide
,我记得它使用的是PyQt4
,它的工作方式可能与PyQt5
中的工作方式不同,我只为未来的访问者提及它。我用的是PyQt5自动取款机。