|
下面的代码可供参考:
发送数据时:
QByteArray buf;
if(ui->sendAsHexcheckBox->isChecked()){
QString str;
bool ok;
char data;
QStringList list;
str = ui->sendMsgLineEdit->text();
list = str.split(" ");
for(int i = 0; i < list.count(); i++){
if(list.at(i) == " ")
continue;
if(list.at(i).isEmpty())
continue;
data = (char)list.at(i).toInt(&ok, 16);
if(!ok){
QMessageBox::information(this, tr("提示消息"), tr("输入的数据格式有错误!"), QMessageBox::Ok);
if(obotimer != NULL)
obotimer->stop();
ui->sendmsgBtn->setText(tr("发送"));
ui->sendmsgBtn->setIcon(QIcon(":new/prefix1/src/send.png"));
return;
}
buf.append(data);
}
}
接收数据时:
QByteArray temp = myCom->readAll();
QString buf;
if(!temp.isEmpty()){
ui->textBrowser->setTextColor(Qt::black);
if(ui->ccradioButton->isChecked()){
buf = temp;
}else if(ui->chradioButton->isChecked()){
QString str;
for(int i = 0; i < temp.count(); i++){
QString s;
s.sprintf("0x%02x, ", (unsigned char)temp.at(i));
buf += s;
}
} |
|