使用子线程时,向主线程发送包含 qstring 的信号,但是有下面这个提示。而且程序会崩溃。
QObject::connect: Cannot queue arguments of type 'QTextCursor'
(Make sure 'QTextCursor' is registered using qRegisterMetaType().)
firstdoingwork 在子线程中:
原代码:
connect(firstdoingwork,&DoingWork::sendmessage,[&](QString a){
ui->textEdit->append(a);
});
直接偷懒使用lamda表达式。结果出错。
只能使用正常方式:
connect(firstdoingwork,&DoingWork::sendmessage,this,&MainWindow::gete);
void MainWindow::gete(QString a)
{
ui->textEdit->append(a);
}
就没有问题了