• 2444阅读
  • 11回复

请教listview的定位问题 [复制链接]

上一主题 下一主题
离线nikonice
 

只看楼主 倒序阅读 楼主  发表于: 2018-04-02
我的listview有500多行,想实现:
比如输入编号为100,则listview滚动到编号为100位置
我写了函数
function find(value1)    
{        
          var rowCount = listmodel.count;    
   for( var i = 0;i < rowCount;i++ )
    {            var data = listmodel.get(i);  
                   if(data.id == value1)        
                  {              
                     list.currentIndex = i;            
                 }    
    }    
}


list.currentIndex = i;这个并没有起到效果,请问应该怎么实现?
离线nikonice

只看该作者 1楼 发表于: 2018-04-02
加了高亮显示,列表是滚到指定位置了
但有个问题,当列表滚动到了指定位置,过了1秒左右,列表又滚回到表第一行了,怎么让他不再滚回第一行呢
离线never_forget

只看该作者 2楼 发表于: 2018-04-03
看看是不是被刷新了,其他地方有没有什么操作导致了~
离线nikonice

只看该作者 3楼 发表于: 2018-04-03
回 never_forget 的帖子
never_forget:看看是不是被刷新了,其他地方有没有什么操作导致了~ (2018-04-03 08:57) 

没有被刷新,还有我发现个问题,一直往下拉,比如拉到第100行,然后手点击一行,该行高亮显示,过1、2秒列表又返回到第一行,但是一直往下拉,不点击,则列表不会返回第一行
离线nikonice

只看该作者 4楼 发表于: 2018-04-03
ListView{  
                    id:list
                    clip: true

                    anchors.top: btn.bottom
                    width:root.width;
                    height:root.height-labe.height - btn.height
                    header: headerView
                    highlightFollowsCurrentItem: true
                    model: ListModel
                    {
                        id: listmodel
                    }
                    delegate:delegate  //关联代理
                    highlight:highlight  //关联高亮条
                    focus:true  //可以获得焦点,这样就可以响应键盘了
            }
有问题吗?
离线nikonice

只看该作者 5楼 发表于: 2018-04-03
delegate内的鼠标事件
MouseArea {                  
                         id: contentMouse                    
                         anchors.fill: parent                    
                        onClicked:                    
                        {                                              
                            list.currentIndex = index  //实现item切换    
                          }                    
                    }
离线never_forget

只看该作者 6楼 发表于: 2018-04-03
没有遇到过,【笑哭】
离线九重水

只看该作者 7楼 发表于: 2018-04-04
QListView表示很早之前用过。
你这种搞法很诡异,为什么要自己写函数了?笑哭。

不过QListWidget我知道用scrollToItem可以的;
所以QListView的scrollTo函数会不会有用了?
离线九重水

只看该作者 8楼 发表于: 2018-04-04
好吧,没看到是QML,这是我完全没用过的东西,楼主自己玩去吧。
离线nikonice

只看该作者 9楼 发表于: 2018-04-08
回 never_forget 的帖子
never_forget:看看是不是被刷新了,其他地方有没有什么操作导致了~ (2018-04-03 08:57) 

又仔细的查了一下,是因为设备发了心跳,导致列表刷新了
离线never_forget

只看该作者 10楼 发表于: 2018-04-08
回 nikonice 的帖子
nikonice:又仔细的查了一下,是因为设备发了心跳,导致列表刷新了
 (2018-04-08 07:46) 

这种设备导致的问题,可是通过设置 flag 来过滤掉,自动刷新的时候 flag = 0;禁止刷新,手动刷新的时候先把 flag = 1; 然后刷新,再把 flag = 0;
离线nikonice

只看该作者 11楼 发表于: 2018-04-08
回 never_forget 的帖子
never_forget:这种设备导致的问题,可是通过设置 flag 来过滤掉,自动刷新的时候 flag = 0;禁止刷新,手动刷新的时候先把 flag = 1; 然后刷新,再把 flag = 0; (2018-04-08 08:53) 

恩,我是通过一个bool变量来禁止他刷新的
快速回复
限100 字节
 
上一个 下一个