查看完整版本: [-- 请教listview的定位问题 --]

QTCN开发网 -> Qt QML开发 -> 请教listview的定位问题 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

nikonice 2018-04-02 16:06

请教listview的定位问题

我的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 2018-04-02 16:41
加了高亮显示,列表是滚到指定位置了
但有个问题,当列表滚动到了指定位置,过了1秒左右,列表又滚回到表第一行了,怎么让他不再滚回第一行呢

never_forget 2018-04-03 08:57
看看是不是被刷新了,其他地方有没有什么操作导致了~

nikonice 2018-04-03 09:54
never_forget:看看是不是被刷新了,其他地方有没有什么操作导致了~ (2018-04-03 08:57) 

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

nikonice 2018-04-03 09:59
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 2018-04-03 10:43
delegate内的鼠标事件
MouseArea {                  
                         id: contentMouse                    
                         anchors.fill: parent                    
                        onClicked:                    
                        {                                              
                            list.currentIndex = index  //实现item切换    
                          }                    
                    }

never_forget 2018-04-03 12:42
没有遇到过,【笑哭】

九重水 2018-04-04 14:07
QListView表示很早之前用过。
你这种搞法很诡异,为什么要自己写函数了?笑哭。

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

九重水 2018-04-04 14:08
好吧,没看到是QML,这是我完全没用过的东西,楼主自己玩去吧。

nikonice 2018-04-08 07:46
never_forget:看看是不是被刷新了,其他地方有没有什么操作导致了~ (2018-04-03 08:57) 

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

never_forget 2018-04-08 08:53
nikonice:又仔细的查了一下,是因为设备发了心跳,导致列表刷新了
 (2018-04-08 07:46) 

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

nikonice 2018-04-08 09:52
never_forget:这种设备导致的问题,可是通过设置 flag 来过滤掉,自动刷新的时候 flag = 0;禁止刷新,手动刷新的时候先把 flag = 1; 然后刷新,再把 flag = 0; (2018-04-08 08:53) 

恩,我是通过一个bool变量来禁止他刷新的


查看完整版本: [-- 请教listview的定位问题 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled