QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1119|回复: 6

关于 QListViewItem 的问题

[复制链接]
发表于 2005-1-12 23:47:09 | 显示全部楼层 |阅读模式
请问怎么删除QListViewItem中的一行和全部删除谢谢!!!
发表于 2005-1-14 23:05:56 | 显示全部楼层
QListViewItem * firstChild () ;可以得到第一个
QListViewItem * QListViewItem::nextSibling () const找到下一个。
通过text判断是不是你要删除的。假设找到QListViewItem *i; 然后 delete i;就可以了。
回复

使用道具 举报

 楼主| 发表于 2005-1-15 10:52:30 | 显示全部楼层
谢谢我去试一试
回复

使用道具 举报

 楼主| 发表于 2005-1-15 11:56:13 | 显示全部楼层
请问怎么用啊,我试了不好用
QListViewItem *item=new QListViewItem(listView1);
item->firstChild();
listView1->takeItem(item);
while(item->nextSibling())
{
    listView1->takeItem(item);
}
回复

使用道具 举报

发表于 2005-1-15 16:11:12 | 显示全部楼层
"void QListViewItem::takeItem ( QListViewItem * item ) [virtual]
Removes item from this object's list of children and causes an update of the screen display. The item is not deleted. You should normally not need to call this function because QListViewItem::~QListViewItem() calls it."

找到*item;然后这样删除:delete item;qt的例子中你去看看。
回复

使用道具 举报

 楼主| 发表于 2005-1-15 19:10:34 | 显示全部楼层
我是全部删除不是一个一个删
能给个例子吗?
回复

使用道具 举报

发表于 2005-1-17 22:02:45 | 显示全部楼层
要那个就删那个。。delte item;一次删除一个,循环即可完全删除:
由于整个程序代码太多这是一点点:(删除选中的;)
        for ( ; it.current(); ++it )
        {
                // ...check state of childs, and...
                if ( it.current()->parent() )
                {    // ...if the item is checked...
                        if ( ( (QCheckListItem*)it.current() )->isOn() )
                        {// ...set the text of the item to the label
                                label->setText( it.current()->text( 0 ) );
                                delete (QCheckListItem*)it.current();
                        }
               }
        }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 17:26 , Processed in 0.051687 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表