Qt QTableView 实现数据改变表格自动刷新

这里提供一份简单的代码示例,实现QTableView实时刷新数据:

#include 
#include 
#include 
#include 
​
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
​
    QWidget *widget = new QWidget();
    widget->setWindowTitle("QTableView Example");
​
    QTableView *tableView = new QTableView(widget);
    tableView->setGeometry(10, 10, 400, 300);
​
    // 创建数据模型
    QStandardItemModel *model = new QStandardItemModel();
​
    // 设置表格行数和列数
    model->setRowCount(3);
    model->setColumnCount(2);
​
    // 设置表头
    model->setHeaderData(0, Qt::Horizontal, "Name");
    model->setHeaderData(1, Qt::Horizontal, "Age");
​
    // 填充数据
    model->setData(model->index(0, 0), "Tom");
    model->setData(model->index(0, 1), 20);
    model->setData(model->index(1, 0), "Jerry");
    model->setData(model->index(1, 1), 18);
    model->setData(model->index(2, 0), "Mike");
    model->setData(model->index(2, 1), 25);
​
    // 将数据模型绑定到表格中
    tableView->setModel(model);
​
    // 实现数据改变自动刷新的功能
    QObject::connect(model, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), tableView, SLOT(update()));
​
    widget->show();
​
    return a.exec();
}

在代码中,我们首先创建一个QStandardItemModel数据模型,并设置表格的行数和列数,同时设置表头和填充数据。然后将数据模型绑定到QTableView中,并实现数据变化自动刷新的功能。最后显示QWidget窗口。

在实际开发中,我们可以根据实际需求对表格进行调整和优化,比如设置表格样式、添加双击编辑功能等。

 进群领取qt开发学习资料以及技术交流  在下方↓↓↓↓↓↓↓↓

你可能感兴趣的:(qt开发,qt,开发语言)