如何删除QTableWidget中的一行?

apoorcowboy 2010-08-17 07:26:16
for(int i=0 ; i<MusicTable->selectedRanges().size() ; i++)
{
for(int j=MusicTable->selectedRanges()[i].topRow() ; j<MusicTable->selectedRanges()[i].bottomRow() ; j++)
{
MusicTable->removeRow(j);
}
}
我这么写为什么不对?操作起来毫无反应


foreach (QTableWidgetItem *item, MusicTable->selectedItems())
{

delete item;
}
这样写可以删除行内容,但行还在,是个空行
该怎么写能脸内容带行一起删掉?
...全文
2090 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
luckforyou 2012-05-13
  • 打赏
  • 举报
回复
逆向删除,用j--的形式
fanstysword 2011-08-22
  • 打赏
  • 举报
回复
MusicTable->removeRow(j);
改成MusicTable->removeRow(0);
因为Table不停地再删除,所以行数不停地再改变,每次只要删除一行就行了
Ethan_熠森张 2010-11-15
  • 打赏
  • 举报
回复
也遇到了同样的问题,DEBUG了一下,貌似是没有进到内层的循环,3搂你看都没看别乱正解
panda20184 2010-08-18
  • 打赏
  • 举报
回复
楼上正解,我觉得QT的帮助文档很有用,基本上一些小问题查下就知道了
lefttime 2010-08-17
  • 打赏
  • 举报
回复
调用removeRow(index); 是可以删除的~``

16,240

社区成员

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

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