[英]How can I convert a char to QString?
Well this proves I'm a noob at coding! 好吧,这证明我是编码方面的新手! I've looked everywhere and still can't get this right.
我到处都看过,但仍然无法正确处理。 This should be pretty simple.
这应该很简单。
I have been trying this: 我一直在尝试:
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);
}
So I'm making table items from each string. 所以我正在从每个字符串中制作表格项目。 That's because I also couldn't figure out how to make table items from just a QChar, or plain char.
这是因为我也无法弄清楚如何仅通过QChar或纯字符制作表项。
But each cell ends up with: 但是每个单元格都以:
Ý
Whereas when I add in: 而当我添加:
cout << memblock[i];
It properly shows: 它正确显示:
RIFFd2 WAVEfmt
Here is the code that reads in the raw data: 这是读取原始数据的代码:
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();
}
Also, when I do cout << &memblock[i]
, for i from 0 to 4 I get: RIFFd2
IFFd2
FFd2
Fd2
此外,当我做
cout << &memblock[i]
令i从0到4,我得到: RIFFd2
IFFd2
FFd2
Fd2
And so on. 等等。
I've managed to use some simplified variant of your code with Qt 4.8.3 and MSVC 2010: 我设法在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.