我有一个QTableWidget
带有以下代码的子类:
connect(this, SIGNAL(cellChanged(int, int)), this, SLOT(pushCellChange(int, int)), Qt::QueuedConnection);
...
void MyTableView::pushCellChange(int row, int column)
{
QString text(item(row, column)->text());
QByteArray data = text.toAscii();
cout << data.length() << endl;
const char* cellData = text.toAscii().constData();
cout << "Cell ("<<row<<", "<<column<<") changed to: " << cellData << endl;
}
当我将右上角的单元格更改为任何输出时:
2
Cell (0, 0) changed to: ▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌░▬∟C▌▌
然而,虽然这些损坏的数据在控制台上喷涌而出,但表格小部件本身似乎表现正常并显示了正确的字符串。有谁知道这里发生了什么?