import executer class Window(QtWidegets.QWidget): def __init__(self): ..... ..... self.runBtn = QtWidgets.QPushButton(self.tab) self.runBtn.clicked.connect(self.func2) ...... def func1(self, text): self.tableWidget_2.setItem(row, 1, QtWidgets.QTableWidgetItem(text)) def func2(self): ..... ..... t = threading.Thread(target=executer.execute_func, args=(self.func1)) t.setDaemon(True) t.start()
def execute_func(dispFunc): connect() #another thread is created in this funcn ...... ...... text = "Something" dispFunc(row, text)
QObject::connect: Cannot queue arguments of type 'QVector<int>' (Make sure 'QVector<int>' is registered using qRegisterMetaType().)
class MyThread(QThread): change_value = pyqtSignal(int, str) def run(self): ..... def func2(self): self.thread = MyThread() self.thread.change_value.connect(self.func1) self.thread.start()
Quote: Make sure 'QVector<int>' is registered using qRegisterMetaType()
QVector<int>
qRegisterMetaType()
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)