我想爲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);
現在,我想通過與信號newPacket(...)
所有5個項目,如一行,在MainWindow
連接到onNewPacket(...)
插槽class Ethernet
發射。
我想僅傳遞信號中的一個參數,因爲字段數可能會增加。也許有正確的方式爲QTableWidget/QTableView傳遞一行?我需要使用QTableWidget還是QTableView?
有趣的想法。我在一個窗口中想了大約50條記錄,但我不知道我能做到這一點。你能給我建議/鏈接嗎? – gek0n
在這種情況下,將項目添加到QTableWidget的方式是正確的:insertRow(),然後爲每列分配傳遞給setItem()的QTableWidgetItem。它沒有特別的附加魔法。 – StackPeter