Because it might be a bug. I need to be more percise explaining this. I'm having a python main.py which is loading a qml main.qml file. It consists of a class. Inside class,s initiator i start a qthread the class is defined with @QmlElement and is being used as a bridge inside qml. There are @QtCore.slot(str) s which are connected to qml elements such as buttons. After clicking on button the slot will run correctly and pass a signal to qthread. The qthread has a signal inside, that is connected to main.py and returning results of theead to main.py there is a def inside main.py that is connected to qthread signal. From inside this def i emit result of qthread to qml connections{}
The problem is that when i simply emit some string from qthread to main.py and emit that to qml it will be successful. But when i use a simple if clause inside qthreads def run(self): it emits the signal to main.py and i can print it there but then i cannot emit what i received to qml.
Apologize about being some how long and complicated