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▌▌
ただし、この破損したデータがコンソールに吐き出されている間、テーブルウィジェット自体は正常に動作しているように見え、正しい文字列が表示されます。ここで何が起こっているのか誰か知っていますか?