Python 当函数参数为str时,QSignalMapper(在PyQt5中)不工作
我试图将代码从pyqt4迁移到pyqt5,但在处理QSignalMapper时遇到了问题 当我在做一个映射,并且传递给函数的参数是一个int时,一切正常,但是当它是一个字符串时,什么也不会发生 下面的代码没有返回错误,只是Python 当函数参数为str时,QSignalMapper(在PyQt5中)不工作,python,pyqt5,Python,Pyqt5,我试图将代码从pyqt4迁移到pyqt5,但在处理QSignalMapper时遇到了问题 当我在做一个映射,并且传递给函数的参数是一个int时,一切正常,但是当它是一个字符串时,什么也不会发生 下面的代码没有返回错误,只是act\u int.trigger()的行为正确,而不是act\u str.trigger() 仅打印: x : 1 正如我所料,它打印: x : 1 x : a_string 可能我没有正确使用QSignalMapper(我没有在网上找到pyqt5的示例)您应该重载
act\u int.trigger()
的行为正确,而不是act\u str.trigger()
仅打印:
x : 1
正如我所料,它打印:
x : 1
x : a_string
可能我没有正确使用QSignalMapper(我没有在网上找到pyqt5的示例)您应该重载正确的方法:
mapped.mapped[str].connect(a_function)
您应该重载正确的方法:
mapped.mapped[str].connect(a_function)
机器超载了。所以添加这一行:
mapper.mapped[str].connect(一个函数)
。是的,你说得对!我不知道您可以将连接函数参数的类型指定为QSignalMapper.mapped的一项。谢谢PyqtWiki上有一个示例演示了如何使用int/str值:@NZD谢谢,但您给出的示例是PyQT4。我对PyQT5解决方案感兴趣。该解决方案超载。所以添加这一行:mapper.mapped[str].connect(一个函数)
。是的,你说得对!我不知道您可以将连接函数参数的类型指定为QSignalMapper.mapped的一项。谢谢PyqtWiki上有一个示例演示了如何使用int/str值:@NZD谢谢,但您给出的示例是PyQT4。我对PyQT5解决方案感兴趣。