是否可以从njit函数发送QT信号?

时间:2020-01-29 08:10:45

标签: python pyqt pyqt5 numba

我想知道是否可以从njit函数发出Qt信号。 我对此表示怀疑,但不确定。

例如,使用以下代码,是否可以将updateTime信号传递到njit计算函数?

from PyQt5.QtCore import *
from numba import jitclass,jit,njit, types, typeof
from numba import boolean, int32, float64,uint8
import numpy as np
import sys
import os


class SenderObject(QObject):
    something_happened = pyqtSignal(np.float)

@njit
def Computation(T,t,y,updateTime):
    for i in range(T):
        y[i] = t[i]
        if np.mod(i,100):
            updateTime.something_happened.emit(i)



class myclass():
    updateTime = SenderObject()
    def __init__(self):

        self.T = 10000

    def Compute(self):
        t=np.arange(self.T)
        y=np.zeros(self.T)
        Computation(self.T, t, y, self.updateTime)

@pyqtSlot(np.float)
def printstuff(s):
    print(s)

if __name__ == "__main__":
    instance = myclass()
    instance.updateTime.something_happened.connect(printstuff)
    instance.Compute()

0 个答案:

没有答案