QStringList に、次のようなアイテムを含むリストがあります。
("name0", "name1", "name2",...)
以下を使用して QTableView に渡す必要があります。
appendRow(const QList<QStandardItem *> &)
QStringList から QList を取得してテーブルに項目を追加するにはどうすればよいですか?
QStringList に、次のようなアイテムを含むリストがあります。
("name0", "name1", "name2",...)
以下を使用して QTableView に渡す必要があります。
appendRow(const QList<QStandardItem *> &)
QStringList から QList を取得してテーブルに項目を追加するにはどうすればよいですか?
QTableView
モデルを使用する必要があります。通常、これはサブクラス化によって行われQAbstractTableModel
ます。さまざまな Qt モデルの詳細: https://doc.qt.io/qt-5/model-view-programming.html
シンプルなテーブルを表示したいだけなら、 を使用することをお勧めし
QTableWidget
ます。API は次のように機能します。
QStringList list = QStringList() << "name0" << "name1" << "name2";
ui->tableWidget->setColumnCount(list.size());
ui->tableWidget->insertRow(ui->tableWidget->rowCount());
for (int i = 0; i < list.size(); ++i)
ui->tableWidget->setItem(ui->tableWidget->rowCount() - 1, i,
new QTableWidgetItem(list.at(i)));
列にデータを追加してラベルを追加するには、次のコードをお勧めします。
ui->tableWidget->setHorizontalHeaderLabels({"List1", "List2"});
QStringList list1 = QStringList() << "name0" << "name1" << "name2";
QStringList list2 = QStringList() << "surname0" << "surname1" << "surname2" << "surname3";
addColumn(list1);
addColumn(list2);
列を追加する関数:
void MainWindow::addColumn(const QStringList &list)
{
// resize rowcount as needed. qMax needs #include <QtMath>
ui->tableWidget->setRowCount(qMax(list.size(), ui->tableWidget->rowCount()));
ui->tableWidget->insertColumn(ui->tableWidget->columnCount());
for (int i = 0; i < list.size(); ++i)
ui->tableWidget->setItem(i, ui->tableWidget->columnCount() - 1, new QTableWidgetItem(list.at(i)));
}