Я хочу сделать что-то вроде журнала для TCP-пакетов. И я пытаюсь использовать QTableWidget, но не уверен, что это правильный путь:QTableWidget или QTableView для добавления строки?
int index = ui->lwHistory->rowCount(); //get index to new row (adding to the end)
ui->lwHistory->insertRow(index);
// Fill the row in that way (think - it's bad way)
ui->lwHistory->setItem(index, 0, new QTableWidgetItem(QString::number(startTime.elapsed())));
ui->lwHistory->setItem(index, 1, new QTableWidgetItem("ETH"));
ui->lwHistory->setItem(index, 2, new QTableWidgetItem(""));
ui->lwHistory->setItem(index, 3, new QTableWidgetItem("Connected"));
ui->lwHistory->setItem(index, 4, new QTableWidgetItem("OK"));
ui->lwHistory->setRowHeight(0, 20);
Теперь я хочу, чтобы пройти все 5 пунктов, как один ряд с сигналом newPacket(...)
, излучается в class Ethernet
подключен к слоту onNewPacket(...)
в MainWindow
,
Я хочу передать только один параметр в сигнал, потому что количество полей может увеличиться. Может быть, есть правильный способ передать строку для QTableWidget/QTableView? Нужно ли использовать QTableWidget или QTableView?
Интересная идея. Я думал о 50 записях в одном окне, но я не знаю, как это сделать. Можете ли вы дать мне совет/ссылку? – gek0n
В этом случае ваш способ добавления элементов в QTableWidget прав: insertRow(), за которым следует распределение QTableWidgetItem, переданного в setItem() для каждого столбца. Никакой дополнительной дополнительной магии. – StackPeter