网站项目运营,dw做的网站怎么在vs,icp备案 网站,设计师做兼职的网站有哪些文章目录 Qt编程技巧小知识点#xff08;6#xff09;根据 *IDN? 对程控仪器连接状态进行确认小结 Qt编程技巧小知识点#xff08;6#xff09;根据 *IDN? 对程控仪器连接状态进行确认 确定仪器连接问题#xff0c;常用的是监测仪器的连接状态#xff0c;如下代码所示6根据 *IDN? 对程控仪器连接状态进行确认小结 Qt编程技巧小知识点6根据 *IDN? 对程控仪器连接状态进行确认 确定仪器连接问题常用的是监测仪器的连接状态如下代码所示
void onconnected(QAbstractSocket::SocketState socketStatue)
{qDebug()socketStatue;switch (socketStatue){case QAbstractSocket::ConnectingState:{ui-label_Text-setText(QAbstractSocket::ConnectingState);break;}case QAbstractSocket::UnconnectedState:{ui-label_Text-setText(QAbstractSocket::UnconnectedState);break;}case QAbstractSocket::ConnectedState:{ui-label_Text-setText(QAbstractSocket::ConnectedState);break;}case QAbstractSocket::HostLookupState:{ui-label_Text-setText(QAbstractSocket::HostLookupState);break;}case QAbstractSocket::BoundState:{ui-label_Text-setText(QAbstractSocket::BoundState);break;}case QAbstractSocket::ClosingState:{ui-label_Text-setText(QAbstractSocket::ClosingState);break;}case QAbstractSocket::ListeningState:{ui-label_Text-setText(QAbstractSocket::ListeningState);break;}default:{ui-label_Text-setText(Dont have normal QAbstractSocket);}}}但实际上这种方式并不是特别好用这里可以用 程控的通用命令 *IDN 以及其返回信息进行确认比如我们连接 santec 激光器。 创建 socket
socket new QTcpSocket(this);发送 IDN? 命令
// 连接仪器
socket-abort();
socket-connectToHost(ip,qint16(port));// 发送资讯信息
QThread::msleep(100);
QString str *IDN?\r\n
socket-write(str.toLatin1());接收返回信息并确定返回信息中是否有关键字符。
QByteArray read;
read.clear();
while(socket-waitForReadyRead(100))//需要等待所有的数据传输完成
{read socket-readAll();
}if(read.contains(SANTEC))
{qDebug()SANTEC 已连接。;
}另外记录一个问题即解决办法。
19: error: ABCThread does not name a type; did you mean ABC?ABCThread*ABCThreadEvent;^~~~~~~~~~~~~~~~~~ABC解决办法不要头文件互相引用。
小结 学习加油共勉。