QtableView 刷新行数
来源:互联网 发布:网络摄像机球机 编辑:程序博客网 时间:2024/06/05 23:02
1 QTableView如何清空数据保留表头?
tableview->clear(); //连表头也会被删除
tableview->removeRow(); //就必须知道表中有多少行数据 如何获取表中数据行数?
2 使用QStandardItemModel的QTableView,添加大量数据解决刷新卡顿问题
添加数据前:
TableView->setUpdatesEnabled(false); //暂停界面刷新添加大量数据过程。。。。
添加完毕后:
TableView->setUpdatesEnabled(true); //恢复界面刷新
即可,或者继承QAbstractItemModel来覆写inserrows函数。
m_itemmodel = new QStandardItemModel(this);ui.tableView->setModel(m_itemmodel);
你要清空这样写就可以:
m_itemmodel->removeRow(0, m_itemmodel->rowCount());
用QTableView+QStandardItemModel来代替QTableWidget.
用这个 model->removeRows(0, model->rowCount());
ui->tableView->reset();
ui->tableView->setModel(m_Model); //这样就ok了
添加数据的时候要调用beginInsertRows()/endInsertRows(),删减数据的时候要调用beginRemoveRows()/endRemoveRows(),或者干脆调用reset(),不过reset()的副作用是连用户的焦点、选择都丢掉,最好别用。
goodsModel->appendRow(items);
int main(int argc, char *argv[]) {QApplication app(argc, argv);QStandardItemModel *model = new QStandardItemModel();QTableView *table = new QTableView();// 如果事先给 table设置了 model而不预指定好要存储的数据的行数,则会非常慢// table->setModel(model); /// [[1]]// model->setRowCount(1000); /// [[1]]model->setColumnCount(14);for (int i = 0; i < 1000; ++i) {model->setItem(i, 0, new QStandardItem("1"));model->setItem(i, 1, new QStandardItem("2"));model->setItem(i, 2, new QStandardItem("3"));model->setItem(i, 3, new QStandardItem("4"));model->setItem(i, 4, new QStandardItem("5"));model->setItem(i, 5, new QStandardItem("6"));model->setItem(i, 6, new QStandardItem("7"));model->setItem(i, 7, new QStandardItem("8"));model->setItem(i, 8, new QStandardItem("9"));model->setItem(i, 9, new QStandardItem("10"));model->setItem(i, 10, new QStandardItem("11"));model->setItem(i, 11, new QStandardItem("12"));model->setItem(i, 12, new QStandardItem("13"));model->setItem(i, 13, new QStandardItem("14"));}// 如果你是先把数据加载到model中的,那么事先不指定要存储的行数。// 先把数据存储到model中 ,然后再给table设置model,这样也会很快 .table->setModel(model); /// [[2]]table->show();return app.exec();}
界面上的QTableView取名为tbList,与tbList关联的Model取名为tb1
程序中需要显示的时候,
- tbList->setModel(NULL); //清除原先数据集
- tbList->setModel(tb1); //刷新显示
阅读全文
0 0
- QtableView 刷新行数
- QTableView
- QTableView
- QTableview
- QTableView
- QTableView
- QTableView
- QTableView
- QTableView
- 刷新UITableView某一行数据
- QTableView批量调整行高刷新效率问题解决
- 使用QStandardItemModel的QTableView,添加大量数据解决刷新卡顿问题
- QTableView类中实时刷新和固定选中的矛盾(即刷新后不清除选中标记)的解决方法
- [Javascript] 不刷新动态改变表格(Table)行数
- QTableview 用法
- QTableWidget&&QTableView
- QTableView 小结
- Qtablewidget / Qtableview
- Android中使用AIDL时的跨进程回调—Server回调Client
- 友元函数、友元类
- Tensor数据相关的运算、函数讲解及与numpy区别
- css选择器优先级
- ACM-ICPC北京站网络赛A题---Visiting Peking University
- QtableView 刷新行数
- kobject和kset的一些学习心得
- Spring定时器Quartz,定时调用存储过程
- [USACO08FEB][bzoj1611]流星雨Meteor Shower
- VMware12安装VMware Tools不成功会出现 /mnt/hgfs下不会出现共享文件夹
- 安装eclipse ADT
- 数据库练习题(当A列大于B列时选择A列否则选择B列)
- Android中添加两个(多个)FileProvider节点问题
- 关於 Parcelable 实作以及继承