[英]How can I convert a char to QString?
好吧,这证明我是编码方面的新手! 我到处都看过,但仍然无法正确处理。 这应该很简单。
我一直在尝试:
int i;
for(i=0;i<16;i++)
{
QChar q = QChar(memblock[i]);
QString s = QString(q);
QTableWidgetItem *item = new QTableWidgetItem(s);
ui->tableWidget->setItem(rowCount, colCount, item);
}
所以我正在从每个字符串中制作表格项目。 这是因为我也无法弄清楚如何仅通过QChar或纯字符制作表项。
但是每个单元格都以:
Ý
而当我添加:
cout << memblock[i];
它正确显示:
RIFFd2 WAVEfmt
这是读取原始数据的代码:
ifstream file (text, ios::in|ios::binary|ios::ate);
if (file.is_open())
{
size = file.tellg();
memblock = new char [size];
file.seekg(0, ios::beg);
file.read(memblock, size);
file.close();
}
此外,当我做cout << &memblock[i]
令i从0到4,我得到: RIFFd2
IFFd2
FFd2
Fd2
等等。
我设法在Qt 4.8.3和MSVC 2010中使用了一些简化的代码变体:
ui.tableWidget->setColumnCount(5);
ui.tableWidget->setRowCount(5);
char *memChunck = new char[25];
for ( int i = 0; i < 25; ++i ) {
memChunck[i] = i + 65;
}
for ( int i = 0; i < 25; ++i ) {
QTableWidgetItem *item = new QTableWidgetItem(QString::number( memChunck[i], 16).toUpper() );
ui.tableWidget->setItem(i / 5, i % 5, item);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.