Qt學習系列之有關QByteArray的學習

2021-10-24 15:30:08 字數 1414 閱讀 8975

在 qt中特別常見的一種資料型別,製作串列埠的過程中,關於資料的傳輸,使用到qbytearray比較多,所有有一點使用的心得,分享一下。

在串列埠中,接收資料程式如下:

qbytearray reciv_array = global_port.

readall()

;

reciv_array的資料型別是qbytearray

global_port是之前定義的串列埠,定義的串列埠如下:

qserialport global_port;
.readall();就是相對於global_port串列埠自帶的函式,是獲取串列埠傳來的資料。

qstring data = ui-

>lint_send_data-

>

text()

;qbytearray array = data.

tolatin1()

;//qstring--->qbytearray

global_port.

write

(array)

;

data是通過ui中的部件獲得的,其資料型別是qstring

ui->lint_send_data是ui視窗指向的視窗中的某一部件

qbytearray array = data.tolatin1();是qstring—>qbytearray

global_port.write(array);是向串列埠裡寫入資料

qbytearray array;

data=array.

mid(0,

4);

定義了乙個qbytearray型別的array,擷取array中的特定長度的字元。

mid(起始字元,擷取的字元長度)
qbytearray.

at(i)

;

.

at(表示取qbytearray中的第幾個)

bool ok;

data=array.

mid(0,

4).touint

(&ok,16)

;

例如:array是0x01 0001 0001,上述取的就是0x01,但是由於有.touint(&ok,16),所以顯示的就是int型別,就是1

data=array.

mid(0,

4).tohex()

;

例如:array是0x01 0001 0001,上述取的就是0x01,因為.tohex()就是取16進製制

以上兩個就是最常見的輸出。

Qt之QByteArray類學習

qbytearray類提供了位元組陣列,包含於 標頭檔案中,從 q3cstring 類繼承而來。qbytearray可以儲存 raw bytes 和傳統的 8 bits 的字串,都是以 0 結尾的,使用比 char 更方便qstring也可以儲存字串資訊,但通常以 16 bits 形式unicode...

QT學習之QByteArray轉QString

方法一 如下 void mainwindow on startbtn clicked qbytearray badlt645frame for i 12 i qbytearray badlt645frametohex badlt645frame.tohex std string badlt645fr...

QByteArray類學習(QT常見類學習1)

qbytearray類提供了位元組陣列,包含於 標頭檔案中,從 q3cstring 類繼承而來。qbytearray可以儲存 raw bytes 和傳統的 8 bits 的字串,都是以 0 結尾的,使用比 char 更方便qstring也可以儲存字串資訊,但通常以 16 bits 形式unicode...