2014-03-28 22 views
0

基本上,我接收数据并将其存储在名为“receivedData”的std :: string变量中。rData.substr(x,y)添加到文本字段的QString

我想这个变量,因此这里的特定部分是我做的:

   size_t start = 1; 
       size_t end = receivedData.find("ABC"); 

我要追加我接收到的数据到一个文本编辑字段的这个特定的一部分,所以我尝试:

QString specificPart = receivedData.substr(start, end - start); 
ui->textEdit->append(specificPart); 

这给了我这个错误:“错误:从'std :: basic_string'转换为非标量类型'QString'请求”

回答

0

编译器很干净地告诉你它不知道如何将std::basic_string转换为QString。您需要自己完成转换。

假设std::string以UTF-8编码,则可以使用QString::fromStdString

size_t start = 1; 
size_t end = receivedData.find("ABC"); 
QString specificPart = QString::fromStdString(receivedData) 
         .mid(start, end - start); 
ui->textEdit->append(specificPart);