Мне интересно, возможно ли испускать сигнал Qt из функции njit. Я сомневаюсь в этом, но я не уверен.
Например, с помощью приведенного ниже кода можно ли передать сигнал 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()