如何插入额外的 QTableWidget

How to insert an additional QTableWidget

本文关键字:QTableWidget 插入 何插入      更新时间:2023-10-16

我正在放置一些值以将值从另一个UI发送到主UI,即TableWidget UI。

问题是我无法为 QTableWidgetItem 插入任何其他行,尽管我有一个插入代码。

有人可以帮助我或让我知道我哪里出错了。

void MainUI::appendData()
int len = container.count();
this->setRowCount(len);
for (int i=0; i<len;i++){
QTableWidgetItem *item = new QTableWidgetItem(QString::number(container[i].portnumber));
this->setItem(i, 0, item);
item = new QTableWidgetItem(container[i]._state);
this->setItem(i, 1, item);
item = new QTableWidgetItem(QString::number(container[i].pwmport));
this->setItem(i, 2, item);
item = new QTableWidgetItem(QString::number(container[i].dutycycle));
this->setItem(i, 3, item);
item = new QTableWidgetItem(QString::number(container[i].frequency));
this->setItem(i, 4, item);
}
}

以下内容有帮助吗?

#include <QApplication>
#include <QTableWidget>
#include <QHeaderView>
struct Item {
QString portnumber;
QString pwmport;
QString dutycycle;
QString frequency;
};
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
int rows = 5;
QList<Item> container;
for (int row = 0; row < rows; row++) {
Item item;
item.portnumber = QString::number(row);
container.append(item);
}
QStringList labels{"portnumber", "pwmport", "dutycycle", "frequency"};
QTableWidget *table = new QTableWidget(rows, labels.count());
table->setHorizontalHeaderLabels(labels);
table->verticalHeader()->hide();
for(int i = 0; i < rows; i++) {
table->setItem(i, 0, new QTableWidgetItem(container[i].portnumber));
table->setItem(i, 1, new QTableWidgetItem(container[i].pwmport));
table->setItem(i, 2, new QTableWidgetItem(container[i].dutycycle));
table->setItem(i, 3, new QTableWidgetItem(container[i].frequency));
}
table->show();
return a.exec();
}