《Qt编程的艺术》——8.1.1 显示类(The View Classes)

本文深入探讨了Interview中提供的用于数据可视化的三个关键类:QListView, QTreeView和QTableView,解释了它们的功能、特点及应用场景。此外,文章还介绍了QHeaderView类及其在视图中的作用,同时揭示了所有view类的基类QAbstractItemView以及其继承自的QAbstractScrollArea类。通过详细解析图表8.5中的示例,读者可以直观地理解这些视图的布局和交互方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于数据的可视化,Interview提供了三个拿来就能用的类,我们可以欣赏一下213页的图8.5的效果:
 

 
QListView
这个类显示一位列表(图8.5中左上角的),它还有一个图标模式(icon mode),显示所有条目按照图标来布置(如图8.5的右上角)。
 
QTreeView
这个类按照树的形式来显示列表(如图8.5的左下角),较之QListView要更加详尽。除此之外,这个类可以显示多个列,QListView做不到这一点。
 
QTableView
这个类能将数据显示在表格里(如图8.5右下角)。在图中最顶端和侧边是行和列的标头(heading),可以分别自定义。
 
除此之外,QHeaderView类提供了标题行,支持QTreeList类和QTableView类中的行和列。这个类不单独作为一个view来使用,但是你可以按照自己的需求来调整它,并将它应用在QTreeView和QTableView实例中去。
 
这些views都继承自QAbstractItemView类,它是Interview中所有view的基类。如果你仔细看一下图8.3中类的继承关系,你会发现QAbstractView类并直接继承自QWidget,而是继承自QAbstractScrollArea类,这个类可以提供嵌有Widget的Widget。
 
这个内嵌的Widget,叫做viewport,它可以比包裹它的widget大上许多倍。框架控件(frame widget)显示横向或纵向的滚动条。按照这种方式,view可以利用更多空间来显示数据,而不是实际申请到的空间;当然,用户必须要使用滚动条在viewport中定位。
 

 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值