在Qt中创建一个table并由用户填写
create a table in Qt and fill it by the user
我想创建一个包含 table 3 列 n 行的 Qt 应用程序,用户将通过将行数放入编辑按钮来选择行数,table 将具有3 列和用户给定的数字。然后用 element
填充
我搜索了很多,但只找到了如何用 sql 数据填充数据,
请问有人有想法吗?
这是我到目前为止所做的,我已经固定了行数和列数,但这不是我想要的,此外,我想使用 QtableWidget 或 QtavleViewItem
int n;
n = ui->spinBox->value();
QStandardItemModel *model = new QStandardItemModel(n,3,this); //2 Rows and 3 Columns
model->setHorizontalHeaderItem(0, new QStandardItem(QString("x")));
model->setHorizontalHeaderItem(1, new QStandardItem(QString("y")));
model->setHorizontalHeaderItem(2, new QStandardItem(QString("z")));
ui->tableView->setModel(model);
您可以遍历 QTableView 中的元素并对它们进行操作:
for(int r=0; r<N_ROWS; r++)
{
for(int c=0; c<N_COLS; c++)
{
QModelIndex index = ui->tableView->model()->index(r,c, QModelIndex());
// Do something with the QVariant that index.data() returns
qDebug() << r << c << index.data().toString();
}
}
此致。
我想创建一个包含 table 3 列 n 行的 Qt 应用程序,用户将通过将行数放入编辑按钮来选择行数,table 将具有3 列和用户给定的数字。然后用 element
填充我搜索了很多,但只找到了如何用 sql 数据填充数据,
请问有人有想法吗?
这是我到目前为止所做的,我已经固定了行数和列数,但这不是我想要的,此外,我想使用 QtableWidget 或 QtavleViewItem
int n;
n = ui->spinBox->value();
QStandardItemModel *model = new QStandardItemModel(n,3,this); //2 Rows and 3 Columns
model->setHorizontalHeaderItem(0, new QStandardItem(QString("x")));
model->setHorizontalHeaderItem(1, new QStandardItem(QString("y")));
model->setHorizontalHeaderItem(2, new QStandardItem(QString("z")));
ui->tableView->setModel(model);
您可以遍历 QTableView 中的元素并对它们进行操作:
for(int r=0; r<N_ROWS; r++)
{
for(int c=0; c<N_COLS; c++)
{
QModelIndex index = ui->tableView->model()->index(r,c, QModelIndex());
// Do something with the QVariant that index.data() returns
qDebug() << r << c << index.data().toString();
}
}
此致。