Qt 獲取QlineEdit數據,轉化成 char 數組的小方法

問題描述:

          

      如上圖所示  QlineEdit  中有8個數據,每個數據想去存放一個char 的數組,或者你想輸入16進制的數據,接下來我們該如何解決這個問題呢?

      首先我們獲取ui中的文本內容:

uchar array[9] ={"\0"};
QString text = ui->line_Data->text();

    這個時候獲取的text爲 “01 02 03 04 05 06 07 08”;

    我們想把 01 做爲char 數組中的一個數據,首先我們要得到你要寫的數據量:

int length = text.size()/3 +1;

  這樣我們就獲得了length數據爲8.

  然後我們使用一個循環把下面寫完整:

    for(int i = 0; i<length; i++)
    {
        if(ok)
        {
          array[i] =  (uchar) text.mid(i+3,2).toUInt(&ok,16);
        }
        else {

          QMessageBox::critical(this,"數據錯誤","請寫入16進制的數據");
          return;
        }
    }

   首先,我們用QString 中  mid函數,mid作用是截取數據,第一個數就是 0到2,第二個數 3到5,然後我獲取的數據轉換成uint,用16進制轉換。 因爲QString 中沒有tochar,哈哈,這樣數據就轉換成功了,然後呢可以對數據解析,或者發送了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章