关于QTableView清空的问题

jinsehongfeng 2011-08-30 05:24:53
各位好:
我用

m_itemmodel = new QStandardItemModel(this);
ui.tableView->setModel(m_itemmodel);

给它们俩绑定了,然后每次刷新的时候,我需要先清空里面的内容,然后再重新插入内容
清空的代码如下:

int row = m_itemmodel->rowCount();
for (int i=0; i<row; i++)
{
m_itemmodel->removeRow(0);
}


现在有个问题就是,如果我刷新的比较快的时候里面最下面就会出现几行空白的行,什么内容也没有,只是有个空的表格,m_itemmodel->rowCount();的时候,得到的行数也不包括那几行空白行,我现在想知道的是,这个是怎么出现的,有什么办法可以把这几行空白行去掉吗,谢谢了!
...全文
1844 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
雪狼牙 2012-10-25
  • 打赏
  • 举报
回复 1
ui->tableView->reset();
ui->tableView->setModel(m_Model);
这样就ok了
JaydenZhou 2012-04-21
  • 打赏
  • 举报
回复
用这个 model->removeRows(0, model->rowCount());
jinsehongfeng 2011-09-18
  • 打赏
  • 举报
回复
谢谢,我现在就是用的QTableView+QStandardItemModel
donwmufromdying 2011-09-06
  • 打赏
  • 举报
回复
我曾经在使用QTableWidget的时候发生过这种问题。后来发现是逻辑上的问题。但是用QTableView+QStandardItemModel从来没碰到过这个问题
donwmufromdying 2011-09-06
  • 打赏
  • 举报
回复
我个人的建议是:用QTableView+QStandardItemModel来代替QTableWidget.
QTableWidget在操作出问题的时候会出现空行,这一般是程序逻辑上有什么问题。所以我基本上不用这个控件。
我比较习惯用MVC的方式
jinsehongfeng 2011-09-05
  • 打赏
  • 举报
回复
算了,没有人回答我结帖了,谢谢上面各位的热心帮助!!!
jinsehongfeng 2011-09-02
  • 打赏
  • 举报
回复
谢谢上面1楼的帮顶。
非常感谢3,4楼这位大哥,这地方是我写的不对,我按你的写了。
但是问题还是没有解决,当操作过快的时候还是会出现下面有几行空白行的情况出现。
没搞明白,这个问题是怎么来的。
donwmufromdying 2011-08-31
  • 打赏
  • 举报
回复
你如果非要一条条来搞,记得别从第一天开始!要从末尾开始
for(int i=rowCount() - 1 ;i>-1; --i)
{
m_itemmodel->removeRow(i);
}

上边的回复搞错了是m_itemmodel->removeRows(0, m_itemmodel->rowCount());
donwmufromdying 2011-08-31
  • 打赏
  • 举报
回复
int row = m_itemmodel->rowCount();
for (int i=0; i<row; i++)
{
m_itemmodel->removeRow(0);
}

没明白。你要清空这样写就可以:

m_itemmodel->removeRow(0, m_itemmodel->rowCount());
jinsehongfeng 2011-08-30
  • 打赏
  • 举报
回复
真没人回答吗,自己给自己顶一下吧
mfc11 2011-08-30
  • 打赏
  • 举报
回复
顶一下

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧