我想知道是否可以从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()