Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.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 在PySide2中使用invokeMethod时使用QGenericArgument/Q_ARG_Python_Pyside2 - Fatal编程技术网

Python 在PySide2中使用invokeMethod时使用QGenericArgument/Q_ARG

Python 在PySide2中使用invokeMethod时使用QGenericArgument/Q_ARG,python,pyside2,Python,Pyside2,我正在尝试将代码从PyQt5移植到PySide2。在某一点上,我使用: QMetaObject.invokeMethod(dialog, "my_function", Qt.QueuedConnection, QGenericArgument.Q_ARG(str, filepath)) 然而,在PySide2中,Q_ARG并不是QGenericalArgument。事实上,我根本找不到它,尽管文档中描述它是用来代替QGenericArgument的宏 方案B:我尝试直接使用QGenericAr

我正在尝试将代码从PyQt5移植到PySide2。在某一点上,我使用:

QMetaObject.invokeMethod(dialog, "my_function", Qt.QueuedConnection, QGenericArgument.Q_ARG(str, filepath))
然而,在PySide2中,Q_ARG并不是QGenericalArgument。事实上,我根本找不到它,尽管文档中描述它是用来代替QGenericArgument的宏

方案B:我尝试直接使用QGenericArgument,尽管文档不鼓励这样做。因此,我尝试了以下方法:

QMetaObject.invokeMethod(dialog, "my_function", Qt.QueuedConnection, QGenericArgument(str, filepath))

QMetaObject.invokeMethod(dialog, "my_function", Qt.QueuedConnection, QGenericArgument('str', filepath))

QMetaObject.invokeMethod(dialog, "my_function", Qt.QueuedConnection, QGenericArgument('QString', filepath))
在所有情况下,错误都是相同的:

ERROR: 'PySide2.QtCore.QGenericArgument' called with wrong argument types:
PySide2.QtCore.QGenericArgument(str, str)
Supported signatures:
PySide2.QtCore.QGenericArgument(PySide2.QtCore.QGenericArgument)
PySide2.QtCore.QGenericArgument(bytes = nullptr, void = nullptr)
看来我必须在这里使用指针,但我不知道怎么做。此外,我还没有找到任何PySide2的invokeMethod示例


有什么想法吗?

不幸的是,PySide2的可能副本继承了PySide2的相同限制。所以,最近几年没有关于这个问题的新闻?在这个问题上,OP在genericalargument中使用'QString',在slot中使用str(正如我已经尝试过的,但没有成功)。有什么解决方法吗?正如他们在回答中指出的,这是一个bug,不管它是QString还是str,它仍然保留在PySide2中,不幸的是没有解决方法