• 3404阅读
  • 5回复

[提问]QTableWidget使用疑惑 [复制链接]

上一主题 下一主题
离线phyond
 

只看楼主 倒序阅读 楼主  发表于: 2017-05-25
回复本帖可获得1RMB金钱奖励!
每人最多可获奖2次,奖池剩余0RMB金钱 (中奖几率90%)
在设计窗口中,查看到我的表格是基于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列,还有动态刷新每个单元格内容,也要动态增加,删除行,要是每个单元格都这样做岂不是很麻烦,效率很低?
请各位大侠解惑,指明一条活路
离线dosmlp

只看该作者 1楼 发表于: 2017-05-25
回帖奖励+ 1
这样都麻烦啊
那你是没用过QTableView
还要自定义模型。效率有一定提高
离线wsa565

只看该作者 2楼 发表于: 2017-05-25
回帖奖励+ 1
留言关注,感觉以后可能会碰到这个,我有时间再好好想想
离线never_forget

只看该作者 3楼 发表于: 2017-05-25
你傻  啊, 模型、视图这么好的东西你不用,你居然一个个的 new 对象 ?朋友,看书不认真的啊,至于刷新内容,当然是一次刷新啊,怎么会选择只刷新一个单元格呢,删除的话,你只用删除模型然后刷新视图就好了,问题不大的~~~
离线phyond

只看该作者 4楼 发表于: 2017-05-26
回 never_forget 的帖子
never_forget:你傻  啊, 模型、视图这么好的东西你不用,你居然一个个的 new 对象 ?朋友,看书不认真的啊,至于刷新内容,当然是一次刷新啊,怎么会选择只刷新一个单元格呢,删除的话,你只用删除模型然后刷新视图就好了,问题不大的~~~ (2017-05-25 17:11) 

看到tableView了,只是有好多疑惑:
1.表格关联的数据实时在变化,数据值,数据项增加,减少,那么我的模型也需要实时变化吗
2.表格显示内容是自动刷新吗?根据模型的数据
离线never_forget

只看该作者 5楼 发表于: 2017-05-26
回 phyond 的帖子
回帖奖励+ 1
phyond:看到tableView了,只是有好多疑惑:
1.表格关联的数据实时在变化,数据值,数据项增加,减少,那么我的模型也需要实时变化吗
2.表格显示内容是自动刷新吗?根据模型的数据 (2017-05-26 08:52) 

如果你通过视图上面的委托进行数据修改的话,需要你在后台做处理,不然修改不会生效(这是一种数据保护措施),根据你的问题,应该是你在视图中修改数据确认的时候将数据保存到模型,然后通过repaint() 或者 update() 函数主动进行刷新。
快速回复
限100 字节
 
上一个 下一个