gpt4 book ai didi

PyQt_PyObject 在使用新型信号/插槽时等效吗?

转载 作者:行者123 更新时间:2023-12-03 23:22:26 25 4
gpt4 key购买 nike

所以我需要在我的 PyQt 应用程序中传递一个 numpy 数组。我首先尝试使用新型信号/插槽,定义我的信号:
newChunkToProcess = pyqtSignal(np.array()) ,但是这给出了错误:
类型错误:找不到必需的参数“对象”(位置 1)

我已经研究出如何使用旧式信号和插槽来做到这一点self.emit(SIGNAL("newChunkToProcess(PyQt_PyObject)"), np.array([5,1,2])) - (是的,那只是测试数据:),但我想知道,是否可以使用新型系统来做到这一点?

最佳答案

您正在寻找的类型是 np.ndarray
您可以从以下代码中看出这一点:

>>> arr = np.array([])  # create an array instance
>>> type(arr) # ask 'what type is this object?'
<type 'numpy.ndarray'>

所以你的信号应该看起来更像:
newChunkToProcess = pyqtSignal(np.ndarray)

(请注意,我传递的是类型 np.ndarray,而不是您尝试过的数组实例)。
如果您不想担心参数的类型,则可以使用:
newChunkToProcess = pyqtSignal(object)

这应该可以让您通过信号发送任何数据类型。

另外:numpy 和 Qt 不共享我所知道的任何主要功能。事实上,两者是相当互补的,形成了非常强大的组合。

关于PyQt_PyObject 在使用新型信号/插槽时等效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3756510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com