Bootstrap

Qt QTableView 如何清理列表里的数据

数据初始化

    tableView_ = new QTableView();
    model_ = new QStandardItemModel();
    tableView_->setModel(model_);

    // model 初始化
    model_->setColumnCount(6);
    model_->setHeaderData(0, Qt::Horizontal, tr("序号"));
    model_->setHeaderData(1, Qt::Horizontal, tr("审核编号"));
    model_->setHeaderData(2, Qt::Horizontal, tr("审核状态"));
    model_->setHeaderData(3, Qt::Horizontal, tr("含交易数"));
    model_->setHeaderData(4, Qt::Horizontal, tr("txid"));
    model_->setHeaderData(5, Qt::Horizontal, tr("操作"));

    // tableview 初始化
    tableView_->setSelectionBehavior(QAbstractItemView::SelectRows); // 选中整行
    tableView_->setSelectionMode(QAbstractItemView::SelectionMode::SingleSelection); // 只能单选
    tableView_->setEditTriggers(QTableView::EditTrigger::NoEditTriggers);
    tableView_->setAlternatingRowColors(true);

    tableView_->setColumnWidth(0, 100);
    tableView_->setColumnWidth(2, 80);
    tableView_->setColumnWidth(5, 130);
    tableView_->horizontalHeader()->setSectionResizeMode(0,QHeaderView::Interactive);
    tableView_->horizontalHeader()->setSectionResizeMode(1,QHeaderView::Stretch);
    tableView_->horizontalHeader()->setSectionResizeMode(4,QHeaderView::Stretch);

#ifdef QT_DEBUG
    for(int i = 0; i < 10; ++i) {
        QStandardItem *item = new QStandardItem();
        item->setCheckable(true);
        item->setText(QString::number(i));
        item->setCheckState(Qt::Unchecked);
        model_->setItem(i, 0, item);
        model_->setItem(i, 1, new QStandardItem("654654654"));
        model_->setItem(i, 2, new QStandardItem("admin"));
        model_->setItem(i, 3, new QStandardItem("admin"));
        model_->setItem(i, 4, new QStandardItem("admin"));
        model_->setItem(i, 5, new QStandardItem("admin"));
    }
#else
    onNextPage(0);
#endif

清理数据

    model_->removeRows(0,model_->rowCount());

这样清理数据,就不会影响到表格头部的数据了。

;