标题:QTableWidget使用疑惑
作者:phyond
日期:2017-05-25 09:40
内容:
在设计窗口中,查看到我的表格是基于QTableWidget类,看了一些例程,都是类似于
QTableWidgetItem *item = new QTableWidgetItem("Apple");
item->setBackgroundColor(QColor(0,60,10));
item->setTextColor(QColor(200,111,100));
item->setFont(QFont("Helvetica"));
ui->targetTabl->setItem(0,3,item);
这种方式,就是要new一个item,然后再使用QTableWidget添加这个item。
我的表格有200行,15列,还有动态刷新每个单元格内容,也要动态增加,删除行,要是每个单元格都这样做岂不是很麻烦,效率很低?
请各位大侠解惑,指明一条活路
#1 [dosmlp 05-25 10:32]
这样都麻烦啊
那你是没用过QTableView
还要自定义模型。效率有一定提高
#2 [wsa565 05-25 10:41]
留言关注,感觉以后可能会碰到这个,我有时间再好好想想
#3 [never_forget 05-25 17:11]
你傻啊, 模型、视图这么好的东西你不用,你居然一个个的 new 对象 ?朋友,看书不认真的啊,至于刷新内容,当然是一次刷新啊,怎么会选择只刷新一个单元格呢,删除的话,你只用删除模型然后刷新视图就好了,问题不大的~~~
#4 回 never_forget 的帖子 [phyond 05-26 08:52]
never_forget:你傻 啊, 模型、视图这么好的东西你不用,你居然一个个的 new 对象 ?朋友,看书不认真的啊,至于刷新内容,当然是一次刷新啊,怎么会选择只刷新一个单元格呢,删除的话,你只用删除模型然后刷新视图就好了,问题不大的~~~ (2017-05-25 17:11)
看到tableView了,只是有好多疑惑:
1.表格关联的数据实时在变化,数据值,数据项增加,减少,那么我的模型也需要实时变化吗
2.表格显示内容是自动刷新吗?根据模型的数据
#5 回 phyond 的帖子 [never_forget 05-26 09:22]
phyond:看到tableView了,只是有好多疑惑:
1.表格关联的数据实时在变化,数据值,数据项增加,减少,那么我的模型也需要实时变化吗
2.表格显示内容是自动刷新吗?根据模型的数据 (2017-05-26 08:52)
如果你通过视图上面的委托进行数据修改的话,需要你在后台做处理,不然修改不会生效(这是一种数据保护措施),根据你的问题,应该是你在视图中修改数据确认的时候将数据保存到模型,然后通过repaint() 或者 update() 函数主动进行刷新。