尝试成功,贴上自己的example,非常感谢@诸葛不亮的回答
import threading
import sys
from PySide2.QtWidgets import QApplication, QPushButton
from PySide2.QtCore import QObject, Signal, Slot, Qt
app = QApplication(sys.argv)
@Slot(str)
def func2(n):
print("--------func2 start----------")
print(n)
print(threading.current_thread())
print("--------func2 end----------")
class Communicate(QObject):
number = Signal(str)
def func1(n):
print("---------func1 start---------")
print("func2 start")
print(n)
print(threading.current_thread())
print("---------func1 end---------")
print("")
a.number.emit(n)
a = Communicate()
#a.number.connect(func2)
a.number.connect(func2, Qt.QueuedConnection)
print(threading.current_thread())
print("start_new_thread")
threading._start_new_thread(func1, ("Hello",))