/home/HSY/hxq/HW_IDcard_text/hw_idcard_text.cpp:115: error: reference to type 'const QString' could not bind to an lvalue of type 'unsigned char *'
时间: 2024-02-01 17:02:46 浏览: 153
ZS_HSY_phone.zip
这个错误是因为您正在尝试将一个`unsigned char*`类型的指针赋值给`QString`类型的变量,这是不允许的,因为它们是不同的数据类型。
要解决这个问题,您需要将`unsigned char*`类型的指针转换为`QString`类型的字符串。可以使用`QString`类的构造函数来完成这个转换。例如:
```cpp
unsigned char* cardData = ...; // 证卡信息
int cardDataLen = ...; // 证卡信息长度
// 将 cardData 转换为 QString 类型的字符串
QString cardDataStr(reinterpret_cast<const char*>(cardData), cardDataLen);
// 将 cardDataStr 追加到 textBrowser 中
ui->textBrowser->append(cardDataStr);
```
在上面的代码中,`reinterpret_cast<const char*>(cardData)`将`unsigned char*`类型的指针转换为`const char*`类型的指针,然后使用`QString`类的构造函数将`const char*`类型的指针转换为`QString`类型的字符串。最后,将转换后的字符串追加到`textBrowser`中。
请注意,在使用`reinterpret_cast`进行类型转换时,需要特别小心,确保转换是安全和合理的。另外,不同的编译器和平台可能对类型转换的行为有所不同,因此需要谨慎使用。
阅读全文