Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在循环内创建pyQt按钮连接_Python_Qt_Pyqt_Maya - Fatal编程技术网

Python 在循环内创建pyQt按钮连接

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中获取值,但当您单击按钮时。但当您单击按钮时,循环的结束

我是pyqt(maya中的pyside)的新手,请对我好一点:)

重点是我想通过循环语句生成多个按钮,类似如下:

(窗口中的5个按钮-完整代码-maya)


如您所见,我将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自动取款机。