Использование QGenericArgument / Q_ARG при использовании invokeMethod в PySide2
Я пытаюсь портировать код с PyQt5 на PySide2. В определенный момент я использую:
QMetaObject.invokeMethod(dialog, "my_function", Qt.QueuedConnection, QGenericArgument.Q_ARG(str, filepath))
Тем не менее, Q_ARG не входит в QGenericArgument в PySide2. На самом деле, я не смог найти его вообще, несмотря на то, что он описан в документации как макрос, который будет использоваться вместо QGenericArgument.
План Б: Я пытался использовать 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)
Так что, похоже, я должен использовать указатели здесь, но не знаю, как это сделать. Кроме того, я не нашел ни одного примера invokeMethod для PySide2.
Любая идея?