RR
Size: a a a
RR
M
QMetaObject::invokeMethod(this, [this, msg]{Второй вариант
callSlot(msg);
}, Qt::QueuedConnection);
QMetaObject::invokeMethod(this, "callSlot", Qt::QueuedConnection, Q_ARG(QString, msg));У первого варианта преимущества:
VF
VF
RR
connect(controller, &Controller::emitMessage, this, &StatusWindow::logMessage, Qt::QueuedConnection);
RR
M
connect(controller, &Controller::emitMessage, this, &StatusWindow::logMessage, Qt::QueuedConnection);
setState(ConnectingState);
если было изначальное состояние UnconnectedState
После сигнала вызывается open()
. В open если нормально открылось, то отправляется сигнал setState(QModbusDevice::ConnectedState);
VF
connect(controller, &Controller::emitMessage, this, &StatusWindow::logMessage, Qt::QueuedConnection);
RR
setState(ConnectingState);
если было изначальное состояние UnconnectedState
После сигнала вызывается open()
. В open если нормально открылось, то отправляется сигнал setState(QModbusDevice::ConnectedState);
RR
connect(controller, &Controller::emitMessage, this, &StatusWindow::logMessage, Qt::QueuedConnection);
RR
RR
connect(&modbusDevice, &QModbusServer::stateChanged, this, &Controller::onStateChanged, Qt::QueuedConnection);
RR
RR
RR
connect(&modbusDevice, &QModbusServer::stateChanged, this, &Controller::onStateChanged, Qt::QueuedConnection);
RR
RG