listview qt 选中内容_Qml中ListView用法

一、ListView列表视图。

如果你了解Qt的模型视图结构,那么这一节的内容就很好理解了,如果你没接触过,也没关系,因为它其实很简单。在Qt中我们要想利用视图显示一些数据,并不是将这些数据直接放到视图中的,因为视图只管显示,它不存储数据。我们的数据要放在数据模型中。但是数据模型中只是存放数据,它并不涉及数据的显示方式。所以,我们还要用一个叫做代理的东东来设置数据模型中的数据怎样在视图中显示。那么就构成了下面的关系。

我们先看下面的例子:

1、新建一个Qt QML Application工程,命名为“myView”。

2、我们更改代码如下:import Qt 4.6

Rectangle {

width:200;height:200

ListModel{  //数据模型

id:listModel

ListElement{name:”Tom”;number:”001″}

ListElement{name:”John”;number:”002″}

ListElement{name:”Sum”;number:”003″}

}

Component{     //代理

id:delegate

Item{ id:wrapper; width:200; height:40

Column{

x:5; y:5

Text{text:”Name:”+name}

Text{text:”Number:”+number}

}

}

}

Component{   //高亮条

id:highlight

Rectangle{color:”lightsteelblue”;radius:5}

}

ListView{  //视图

width:parent.width; height:parent.height

model:listModel  //关联数据模型

delegate:delegate  //关联代理

highlight:highlight  //关联高亮条

focus:true  //可以获得焦点,这样就可以响应键盘了

}

}

运行效果如下:

我们可以拖动整个列表,而且可以使用键盘的方向键来选择列表中的项目。

在这个程序中,我们先设置了数据模型,在其中加入了一些数据。然后设置了代理,在代理中我们设置了要怎样显示我们的数据。最后,我们在视图中关联了数据模型和代理,将数据显示出来了。这里为了达到更好的显示效果,我们使用了一个高亮条。其中的代理和高亮条都可以使用Component{}组件来实现。

3.我们可以对视图做一些设置。

我们可以设置keyNavigationWraps:true 使到达最后一个项目后重新返回第一个项目。

我们可以设置orientation:ListView.Horizontal使列表水平显示。这时你拖动列表,发现了吧,它可以自动移动到下一条,这就是Flickable的作用。默认的是ListView.Vertical竖直显示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值