当前位置:网站首页>Roson的Qt之旅#108 QML ListView的布局、方向和堆叠顺序
Roson的Qt之旅#108 QML ListView的布局、方向和堆叠顺序
2022-08-08 22:10:00 【Allen Roson】
1.列表视图的布局
ListView中的项目的布局可以由这些属性控制。
orientation - 控制项目是水平地还是垂直地流动。这个值可以是Qt.Horizontal或Qt.Vertical。
layoutDirection - 控制水平方向的视图的水平布局方向:也就是说,项目是否从视图的左侧布局到右侧,或者反过来。这个值可以是Qt.LeftToRight或Qt.RightToLeft。
verticalLayoutDirection - 控制垂直方向的视图的垂直布局方向:也就是说,项目是否从视图的顶部向底部布局,或者反之亦然。这个值可以是ListView.TopToBottom或ListView.BottomToTop。
默认情况下,ListView有一个垂直方向,项目从上到下排列。下表显示了ListView可以有的不同布局,这取决于上述属性的值。
1.1具有Qt垂直方向的列表视图
1.2具有Qt水平方向的列表视图
2.Flickable方向
默认情况下,垂直的ListView将flickableDirection设置为Flickable.Vertical,而水平的ListView将其设置为Flickable.Horizontal。此外,垂直的ListView只计算(估计)contentHeight,而水平的ListView只计算contentWidth。其他维度被设置为-1。
自Qt 5.9(Qt Quick 2.9)以来,可以制作一个可以向两个方向滑动的ListView。为了做到这一点,可以将flickableDirection设置为Flickable.AutoFlickDirection或Flickable.AutoFlickIfNeeded,并且必须提供所需的contentWidth或contentHeight。
import QtQuick 2.9
import QtQuick.Window 2.2
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
ListView {
width: 180; height: 200
contentWidth: 320
flickableDirection: Flickable.AutoFlickDirection
model: ContactModel {}
delegate: Row {
Text { text: '<b>Name:</b> ' + name; width: 160 }
Text { text: '<b>Number:</b> ' + number; width: 160 }
}
}
}
运行效果如下:
3.ListView中的堆叠顺序
项目的Z值决定了它们是在其他项目的上方还是下方呈现。ListView使用几种不同的默认Z值,这取决于正在创建的项目的类型
如果项目的Z值为0,就会设置这些默认值,所以将这些项目的Z值设置为0没有任何影响。请注意,Z值是实数类型的,所以有可能设置像0.1这样的小数值。
参见QML Data Models、GridView、PathView、和Qt Quick Examples - Views.
边栏推荐
猜你喜欢
随机推荐
九大内置对象,四大作用域
奈雪在亏损,背后供应商赢麻了
AutoAssign论文解析
【硬件通讯协议】SIP总线协议以及模拟(软件)SPI
SaaS启动阶段增长指南(上)
Unity Text自定义多重渐变色且渐变色位置可调
新手如何买股票,买股票安全吗
C drive space management
Crawler series: read CSV, PDF, Word documents
software design principles
2020-03-09
BSV 中的零开销私人时间戳
scala排序,sort,sorted,sortBy,sortWith
爬虫视频教学:网页数据抓取
What is the cURL?
Upload-labs Pass-05
C# 开发中遇到的一些小技巧
零数科技“链上海南”——深耕数字金融领域
Baidu IP query
Hands-on Deep Learning_Transposed Convolution