一、需求
将由string生成的ByteArry打印到textEdit中,指定显示的列数。
二、代码
void MainWindow::on_pushButton_convert_clicked()
{ QString Str = ui->textEdit_string->toPlainText(); int Strszie = Str.length(); QString Showstr=""; QString hexstr = ""; int col = 20; if(!ui->lineEdit_col->text().isEmpty()) { col = ui->lineEdit_col->text().toInt(); } ui->textEdit_hex->clear(); int rollcnt = (Strszie%col)?Strszie/col+1:Strszie/col; for(int i = 0; i< rollcnt; i++) { for(int j = 0; j < col; j++) { int remaincnt = Strszie - (i*col + j); if(remaincnt != 0) { hexstr.sprintf("0x%02x,",(unsigned)Str.at(i*col+j).toLatin1()); Showstr += hexstr; } else{ break; } } ui->textEdit_hex->append(Showstr); Showstr.clear(); }
}