У меня есть подкласс 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▌▌
Однако, несмотря на то, что эти поврежденные данные выводятся на консоль, сам виджет таблицы, кажется, работает нормально и показывает правильную строку. Кто-нибудь знает, что здесь происходит?