1.布局
如图所示。
2.代码
不废话,直接上。
#include "widget.h"
#include "ui_widget.h"
#include <QtDebug>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_btn2hex_clicked()
{
if( !ui->textEditString->toPlainText().isEmpty())
{
QString head = ui->textEditAddhead->toPlainText();
QByteArray arr = ui->textEditString->toPlainText().toUtf8().toHex(' ').toUpper();
QString dst = QString(arr) ;
dst.prepend(head);
head.prepend(" ");
dst.replace(" ",head);
ui->textEditHex->setPlainText(dst);
}
}
void Widget::on_btn2string_clicked()
{
if( !ui->textEditHex->toPlainText().isEmpty())
{
bool res;
QString dst;
QStringList list = ui->textEditHex->toPlainText().trimmed().split(QRegExp("\t|\n|\r\n|\r| |,|;")); //去除头尾空白,再分割
qWarning()<<list.count();
foreach (QString n, list )
{
if(n.isEmpty())continue;
int d= n.toInt(&res,16);
if(d>255)continue;
char c = d;
if(res)
dst.append(c);
else
{
qWarning()<<"toInt:err!";
}
}
ui->textEditString->setPlainText(dst);
}
}