当前位置: 首页 > article >正文

开发常用的QT mql组件

Column

Column 是一种将其子项沿单个列定位的类型。它是不使用锚点的情况下垂直定位一系列项目的便捷方式。

add : Transition

bottomPadding : real

leftPadding : real

move : Transition

padding : real

populate : Transition

rightPadding : real

spacing : real

topPadding : real

Rectangle(矩形):用于创建矩形区域,可以设置其颜色、边框等属性。

属性:

基础属性

id:这是一个字符串类型的属性,用于在 QML 中唯一标识该矩形。

objectName:同样是字符串类型,主要用于在 C++ 代码里查找这个矩形。

位置与大小属性

x、y:均为实数类型,分别代表矩形左上角的水平和垂直坐标。

width、height:也是实数类型,分别表示矩形的宽度和高度。

implicitWidth、implicitHeight:这两个是只读的实数属性,代表矩形的默认宽度和高度。

visible:布尔类型,用于控制矩形是否可见,默认值为 true。

opacity:实数类型,取值范围是 0.0(完全透明)到 1.0(完全不透明),用于设置矩形的不透明度。

clip:布尔类型,若设为 true,超出矩形边界的内容将被裁剪掉,默认是 false。

z:整数类型,用于确定矩形在 Z 轴方向上的堆叠顺序,数值大的会显示在上面。

外观属性

color:颜色类型,用于设置矩形的填充颜色,默认是 transparent(透明)。

border.color:颜色类型,用于设置矩形边框的颜色。

border.width:实数类型,用于设置矩形边框的宽度,默认是 0。

radius:实数类型,用于设置矩形的圆角半径,默认是 0。

gradient:Gradient 类型,用于为矩形设置渐变效果,设置了渐变后,color 属性会被忽略。

smooth:布尔类型,若设为 true,会对矩形边缘进行抗锯齿处理,默认是 false。

antialiasing:布尔类型,用于控制是否开启抗锯齿,默认是 false。

交互属性

enabled:布尔类型,若设为 false,矩形将无法响应用户交互,默认是 true。

hoverEnabled:布尔类型,若设为 true,矩形可以检测鼠标悬停状态。

focus:布尔类型,若设为 true,矩形能够获得键盘焦点。

focusPolicy:FocusPolicy 枚举类型,用于控制矩形获取焦点的方式。

状态与动画属性

states:状态列表,用于定义矩形的不同状态。

transitions:过渡效果列表,用于定义状态切换时的动画效果。

scale:实数类型,用于设置矩形的缩放比例,默认是 1.0。

rotation:实数类型,用于设置矩形的旋转角度,单位是度,默认是 0。

transformOrigin:TransformOrigin 枚举类型,用于设置变换的原点位置。

子元素与布局属性

children:子元素列表,包含了矩形内的所有子项。

data:数据列表,用于添加不能作为视觉子项的内容。

anchors:锚点系统,用于将矩形相对于其他元素进行定位。

Layout.alignment:布局对齐方式,用于在布局中设置矩形的对齐方式。

事件处理属性

onClicked:点击事件处理函数。

onDoubleClicked:双击事件处理函数。

onPressed:按下事件处理函数。

onReleased:释放事件处理函数。

onHoveredChanged:鼠标悬停状态改变事件处理函数。

onActiveFocusChanged:焦点状态改变事件处理函数。

高级属性

layer:ItemLayer 类型,用于设置矩形的高级视觉效果,像阴影、模糊等。

opacityMask:Brush 类型,用于设置基于遮罩的透明度效果。

renderType:RenderType 枚举类型,用于控制矩形的渲染方式。

renderTarget:RenderTarget 枚举类型,用于指定矩形的渲染目标。

Text(文本):用于显示文本内容,可以设置字体、颜色、大小等属性。

Image(图像):用于显示图像,可以设置其来源、宽度、高度等属性。

图像源与加载属性

source:字符串类型,用于指定图像的源文件路径,可以是本地文件路径、网络 URL 或者资源路径(如 qrc:/image.png)。

sourceSize:size 类型,可设置图像的原始大小,若未设置,则使用图像的实际大小。

fillMode:Image.FillMode 枚举类型,用于控制图像的填充方式,其值有:

Image.Stretch:直接拉伸图像,可能会导致图像变形。

Image.PreserveAspectFit:保持图像的宽高比进行缩放,使图像完全适应容器,但可能会在容器内留下空白。

Image.PreserveAspectCrop:保持图像的宽高比进行缩放,使图像填满容器,超出容器的部分会被裁剪掉。

Image.Tile:横向和纵向重复平铺图像。

Image.TileVertically:仅纵向重复平铺图像。

Image.TileHorizontally:仅横向重复平铺图像。

smooth:布尔类型,若设为 true,会对图像进行平滑处理,提升缩放后的图像质量,默认值是 false。

cache:布尔类型,若设为 true,图像会被缓存起来,以便后续重用,默认值是 true。

mirror:布尔类型,若设为 true,图像会水平翻转,默认值是 false。

asynchronous:布尔类型,若设为 true,图像会异步加载,避免阻塞 UI 线程,默认值是 false。

status:Image.Status 枚举类型,用于表示图像的加载状态,其值有:

Image.Null:初始状态。

Image.Ready:图像已成功加载。

Image.Loading:图像正在加载中。

Image.Error:图像加载过程中出现错误。

progress:实数类型,用于表示图像加载的进度,范围是 0.0(未开始加载)到 1.0(加载完成)。

errorString:字符串类型,当图像加载出错时,该属性会包含错误信息。

位置与大小属性

x、y:实数类型,分别表示图像左上角的水平和垂直坐标。

width、height:实数类型,分别表示图像的显示宽度和高度。若未设置这两个属性,图像会以原始大小显示;若只设置了其中一个属性,另一个属性会按原始宽高比自动计算;若两个属性都设置了,图像会根据 fillMode 进行缩放。

implicitWidth、implicitHeight:只读的实数属性,分别表示图像的原始宽度和高度。

visible:布尔类型,用于控制图像是否可见,默认值是 true。

opacity:实数类型,取值范围是 0.0(完全透明)到 1.0(完全不透明),用于设置图像的不透明度。

clip:布尔类型,若设为 true,超出图像边界的内容将被裁剪掉,默认值是 false。

z:整数类型,用于确定图像在 Z 轴方向上的堆叠顺序,数值大的会显示在上面。

交互属性

enabled:布尔类型,若设为 false,图像将无法响应用户交互,默认值是 true。

hoverEnabled:布尔类型,若设为 true,图像可以检测鼠标悬停状态。

focus:布尔类型,若设为 true,图像能够获得键盘焦点。

focusPolicy:FocusPolicy 枚举类型,用于控制图像获取焦点的方式。

状态与动画属性

states:状态列表,用于定义图像的不同状态。

transitions:过渡效果列表,用于定义状态切换时的动画效果。

scale:实数类型,用于设置图像的缩放比例,默认值是 1.0。

rotation:实数类型,用于设置图像的旋转角度,单位是度,默认值是 0。

transformOrigin:TransformOrigin 枚举类型,用于设置变换的原点位置。

子元素与布局属性

children:子元素列表,包含了图像内的所有子项。

data:数据列表,用于添加不能作为视觉子项的内容。

anchors:锚点系统,用于将图像相对于其他元素进行定位。

Layout.alignment:布局对齐方式,用于在布局中设置图像的对齐方式。

事件处理属性

onClicked:点击事件处理函数。

onDoubleClicked:双击事件处理函数。

onPressed:按下事件处理函数。

onReleased:释放事件处理函数。

onHoveredChanged:鼠标悬停状态改变事件处理函数。

onActiveFocusChanged:焦点状态改变事件处理函数。

onStatusChanged:图像加载状态改变事件处理函数。

高级属性

layer:ItemLayer 类型,用于设置图像的高级视觉效果,像阴影、模糊等。

opacityMask:Brush 类型,用于设置基于遮罩的透明度效果。

renderType:RenderType 枚举类型,用于控制图像的渲染方式。

renderTarget:RenderTarget 枚举类型,用于指定图像的渲染目标。

MouseArea 是用于处理鼠标事件的交互元素

基础属性

id

字符串类型,唯一标识组件。

objectName

字符串类型,用于 C++ 查找对象。

位置与大小属性

x、y

实数类型,鼠标区域的左上角坐标(相对于父元素)。

width、height

实数类型,鼠标区域的宽高。若未设置,则默认为父元素的大小。

anchors

锚点系统,用于定位和调整大小(如 anchors.fill: parent)。

交互属性

enabled

布尔类型,是否启用鼠标事件处理,默认 true。

visible

布尔类型,是否可见(仅影响子元素,自身不可见),默认 false。

hoverEnabled

布尔类型,是否跟踪鼠标悬停状态,默认 false。

pressAndHoldThreshold

实数类型,长按识别的时间阈值(毫秒),默认 800。

drag

Drag 对象,配置拖放行为(如 drag.target、drag.axis)。

acceptedButtons

位掩码类型,接受的鼠标按钮(如 Qt.LeftButton | Qt.RightButton)。

ignoreEvents

布尔类型,是否忽略鼠标事件(但仍响应悬停),默认 false。

状态属性

pressed

布尔类型,鼠标按钮是否被按下。

containsMouse

布尔类型,鼠标是否在区域内(需 hoverEnabled: true)。

hovered

布尔类型,鼠标是否悬停在区域上(需 hoverEnabled: true)。

underMouse

布尔类型,鼠标是否直接在区域上(忽略子元素)。

mouseX、mouseY

实数类型,鼠标在区域内的坐标(仅在按下或悬停时有效)。

mouse.button

Qt.MouseButton 枚举类型,当前按下的鼠标按钮。

wheelDelta

整数类型,鼠标滚轮滚动的增量值。

信号与事件处理

onPressed

信号处理函数,鼠标按下时触发。

onReleased

信号处理函数,鼠标释放时触发。

onClicked

信号处理函数,点击(按下并释放)时触发。

onDoubleClicked

信号处理函数,双击时触发。

onPositionChanged

信号处理函数,鼠标位置变化时触发。

onEntered

信号处理函数,鼠标进入区域时触发(需 hoverEnabled: true)。

onExited

信号处理函数,鼠标离开区域时触发(需 hoverEnabled: true)。

onWheel

信号处理函数,鼠标滚轮滚动时触发。

onPressAndHold

信号处理函数,长按(按住超过阈值)时触发。

拖放属性

drag.target

Item 类型,拖放操作的目标元素。

drag.axis

Drag.Axis 枚举类型,允许的拖动方向:

Drag.XAndYAxis(默认):自由拖动。

Drag.XAxis:仅水平拖动。

Drag.YAxis:仅垂直拖动。

drag.minimumX、drag.minimumY

实数类型,拖动的最小坐标限制。

drag.maximumX、drag.maximumY

实数类型,拖动的最大坐标限制。

drag.snapX、drag.snapY

布尔类型,是否吸附到网格。

drag.snapDistance

实数类型,吸附距离阈值。

drag.active

布尔类型,拖放操作是否正在进行中。

高级属性

cursorShape

Qt.CursorShape 枚举类型,鼠标悬停时的光标形状(如 Qt.PointingHandCursor)。

parent

Item 类型,父元素。

z

整数类型,Z 轴堆叠顺序。

acceptedModifiers

位掩码类型,接受的键盘修饰键(如 Qt.ControlModifier)。

children

Item 列表,子元素(通常为空,因 MouseArea 不可见)。

Button(按钮):用于创建按钮,可以设置按钮的文本、样式、点击事件等属性。

id

字符串类型,唯一标识组件。

objectName

字符串类型,用于 C++ 查找对象。

外观属性

background

Item 类型,按钮的背景元素(可自定义)。

contentItem

Item 类型,按钮的内容元素(如文本或图标)。

width、height

实数类型,按钮的宽高。

implicitWidth、implicitHeight

只读实数,默认宽高。

enabled

布尔类型,是否启用交互(禁用时变灰),默认true。

visible

布尔类型,是否可见,默认true。

opacity

实数类型,透明度(0.0~1.0)。

z

整数类型,Z 轴堆叠顺序。

文本与图标属性

text

字符串类型,按钮显示的文本。

font

Font 类型,文本字体(如font.pixelSize、font.family)。

textColor

颜色类型,文本颜色。

icon.source

字符串类型,图标源路径(图像文件或资源路径)。

icon.width、icon.height

实数类型,图标宽高。

icon.mirror

布尔类型,图标是否水平镜像。

状态属性

pressed

布尔类型,按钮是否被按下。

hovered

布尔类型,鼠标是否悬停(需hoverEnabled: true)。

checked

布尔类型,按钮是否处于选中状态(用于 toggle 按钮)。

checkable

布尔类型,按钮是否可切换状态,默认false。

flat

布尔类型,是否为扁平化样式(无边框),默认false。

交互属性

onClicked

信号处理函数,点击时触发。

onPressed

信号处理函数,按下时触发。

onReleased

信号处理函数,释放时触发。

onToggled

信号处理函数,状态切换时触发(仅checkable为true时有效)。

repeat

布尔类型,长按是否重复触发点击事件,默认false。

keyNavigationEnabled

布尔类型,是否支持键盘导航(如 Tab 键),默认true。

布局属性

anchors

锚点系统,用于定位。

Layout.fillWidth、Layout.fillHeight

布尔类型,是否填充布局空间。

Layout.preferredWidth、Layout.preferredHeight

实数类型,布局中的首选宽高。

Layout.minimumWidth、Layout.minimumHeight

实数类型,布局中的最小宽高。

Layout.maximumWidth、Layout.maximumHeight

实数类型,布局中的最大宽高。

高级属性

state

字符串类型,自定义状态名称(需配合states属性使用)。

states

State 列表,定义按钮的不同状态。

transitions

Transition 列表,定义状态切换的动画效果。

focus

布尔类型,是否获取焦点。

clip

布尔类型,是否裁剪超出边界的内容。

平台风格属性

style

Style 类型,自定义按钮样式(覆盖默认风格)。

styleData

只读对象,包含按钮的风格数据(如styleData.pressed)。

TextInput(文本输入框):用于接收用户输入的文本,可以设置其提示文字、样式等属性。

对象文本内容属性

text

字符串类型,输入框中的文本内容。

placeholderText

字符串类型,当输入框为空时显示的占位文本。

echoMode

TextInput.EchoMode 枚举类型,控制文本显示方式:

TextInput.Normal(默认):正常显示。

TextInput.Password:用密码掩码显示。

TextInput.NoEcho:不显示任何内容。

TextInput.PasswordEchoOnEdit:编辑时显示,之后转为密码掩码。

inputMethodHints

位掩码类型,设置输入法提示(如 Qt.ImhDigitsOnly 仅允许数字)。

外观属性

background

Item 类型,输入框的背景元素(可自定义)。

contentItem

Item 类型,文本内容的显示元素。

width、height

实数类型,输入框的宽高。

implicitWidth、implicitHeight

只读实数,默认宽高。

visible

布尔类型,是否可见,默认 true。

opacity

实数类型,透明度(0.0~1.0)。

z

整数类型,Z 轴堆叠顺序。

文本样式属性

font

Font 类型,文本字体(如 font.pixelSize、font.family)。

color

颜色类型,文本颜色。

selectionColor

颜色类型,选中文本的前景色。

selectedTextColor

颜色类型,选中文本的背景色。

placeholderTextColor

颜色类型,占位文本的颜色。

光标属性

cursorVisible

布尔类型,光标是否可见,默认 true。

cursorPosition

整数类型,光标的位置索引。

selectionStart

整数类型,选中文本的起始位置。

selectionLength

整数类型,选中文本的长度。

cursorRectangle

只读 rect 类型,光标所在的矩形区域。

cursorWidth

实数类型,光标的宽度,默认 1px。

输入控制属性

enabled

布尔类型,是否启用输入,默认 true。

readOnly

布尔类型,是否为只读模式,默认 false。

maximumLength

整数类型,允许输入的最大字符数(0 表示无限制)。

validator

Validator 类型,输入验证器(如 IntValidator、RegExpValidator)。

inputMask

字符串类型,输入掩码(如电话号码格式 999-9999)。

交互属性

focus

布尔类型,是否获取焦点。

editable

布尔类型,是否可编辑,默认 true。

selectByMouse

布尔类型,是否允许鼠标选择文本,默认 true。

mouseSelectionMode

TextInput.SelectionMode 枚举类型,鼠标选择模式:

TextInput.SelectCharacters(默认):逐个字符选择。

TextInput.SelectWords:按单词选择。

TextInput.SelectLines:按行选择。

wrapMode

TextInput.WrapMode 枚举类型,文本换行模式(单行输入框通常不生效)。

信号与事件

onTextChanged

信号处理函数,文本内容变化时触发。

onEditingFinished

信号处理函数,编辑完成时触发(如按下 Enter 或失去焦点)。

onCursorPositionChanged

信号处理函数,光标位置变化时触发。

onSelectionChanged

信号处理函数,选中文本变化时触发。

布局属性

anchors

锚点系统,用于定位。

Layout.fillWidth、Layout.fillHeight

布尔类型,是否填充布局空间。

Layout.preferredWidth、Layout.preferredHeight

实数类型,布局中的首选宽高。

Layout.minimumWidth、Layout.minimumHeight

实数类型,布局中的最小宽高。

高级属性

state

字符串类型,自定义状态名称(需配合 states 属性使用)。

states

State 列表,定义输入框的不同状态。

transitions

Transition 列表,定义状态切换的动画效果。

clip

布尔类型,是否裁剪超出边界的内容。

style

Style 类型,自定义输入框样式(覆盖默认风格)。

styleData

只读对象,包含输入框的风格数据(如 styleData.pressed)。

CheckBox(复选框):用于提供多选的选项,可以设置其文本、选中状态等属性。

对象状态属性

checked

布尔类型,复选框是否被选中,默认 false。

tristate

布尔类型,是否支持三态(选中、未选中、不确定),默认 false。

state

字符串类型,当前状态(如 "checked", "unchecked", "indeterminate")。

indeterminate

布尔类型,是否处于不确定状态(仅当 tristate: true 时有效)。

外观属性

background

Item 类型,复选框的背景元素(可自定义)。

indicator

Item 类型,复选框的指示器(勾选标记部分)。

contentItem

Item 类型,复选框的内容(通常是文本标签)。

width、height

实数类型,复选框的宽高。

implicitWidth、implicitHeight

只读实数,默认宽高。

visible

布尔类型,是否可见,默认 true。

opacity

实数类型,透明度(0.0~1.0)。

z

整数类型,Z 轴堆叠顺序。

文本属性

text

字符串类型,复选框旁边的文本标签。

font

Font 类型,文本字体(如 font.pixelSize、font.family)。

color

颜色类型,文本颜色。

交互属性

enabled

布尔类型,是否启用交互,默认 true。

hovered

布尔类型,鼠标是否悬停,默认 false。

pressed

布尔类型,复选框是否被按下,默认 false。

focus

布尔类型,是否获取焦点,默认 false。

checkable

布尔类型,是否可切换状态,默认 true。

信号与事件

onCheckedChanged

信号处理函数,选中状态变化时触发。

onToggled

信号处理函数,状态切换时触发(等同于 onCheckedChanged)。

onPressed

信号处理函数,按下时触发。

onReleased

信号处理函数,释放时触发。

onClicked

信号处理函数,点击时触发。

布局属性

anchors

锚点系统,用于定位。

Layout.fillWidth、Layout.fillHeight

布尔类型,是否填充布局空间。

Layout.preferredWidth、Layout.preferredHeight

实数类型,布局中的首选宽高。

Layout.minimumWidth、Layout.minimumHeight

实数类型,布局中的最小宽高。

高级属性

states

State 列表,定义复选框的不同状态(如自定义样式)。

transitions

Transition 列表,定义状态切换的动画效果。

clip

布尔类型,是否裁剪超出边界的内容。

style

Style 类型,自定义复选框样式(覆盖默认风格)。

styleData

只读对象,包含复选框的风格数据(如 styleData.checked)。

GridView 是一种用于展示二维网格布局数据的控件,通常来自 QtQuick.Controls 或 QtQuick 模块。以下是 GridView 的所有属性分类整理

基础属性

id

字符串类型,唯一标识组件。

objectName

字符串类型,用于 C++ 查找对象。

数据与模型属性

model

模型类型,网格视图的数据模型(如 ListModel、数组或 JavaScript 对象)。

delegate

Item 类型,每个网格项的视觉代理(定义外观和交互)。

highlight

Item 类型,当前选中项的高亮指示器。

currentIndex

整数类型,当前选中项的索引。

currentItem

Item 类型,当前选中的项。

布局属性

cellWidth、cellHeight

实数类型,网格单元格的宽高(默认为 undefined,由代理决定)。

flow

GridView.Flow 枚举类型,流动方向:

GridView.LeftToRight(默认):从左到右排列。

GridView.TopToBottom:从上到下排列。

orientation

GridView.Orientation 枚举类型,滚动方向:

GridView.Horizontal:水平滚动。

GridView.Vertical(默认):垂直滚动。

layoutDirection

Qt.LayoutDirection 枚举类型,布局方向:

Qt.LeftToRight(默认):从左到右。

Qt.RightToLeft:从右到左。

spacing

实数类型,单元格之间的间距(默认 0)。

visibleItemCount

整数类型,可视区域内的最大项数(性能优化)。

cacheBuffer

实数类型,可视区域外预渲染的缓冲区大小(提高滚动流畅度)。

滚动与定位属性

contentWidth、contentHeight

只读实数类型,内容的总宽度和高度。

contentX、contentY

实数类型,内容的滚动偏移量。

flickDeceleration

实数类型,轻扫后的减速速率(默认 2000)。

boundsBehavior

Flickable.BoundsBehavior 枚举类型,边界行为:

Flickable.StopAtBounds(默认):停在边界。

Flickable.DragOverBounds:可拖动超过边界。

Flickable.ElasticBounds:弹性边界(拖动后回弹)。

scrollBarPolicy

Qt.ScrollBarPolicy 枚举类型,滚动条策略:

Qt.ScrollBarAsNeeded(默认):按需显示。

Qt.ScrollBarAlwaysOff:始终隐藏。

Qt.ScrollBarAlwaysOn:始终显示。

scrollBarStyle

Style 类型,自定义滚动条样式。

外观属性

width、height

实数类型,网格视图的宽高。

clip

布尔类型,是否裁剪超出边界的内容(默认 true)。

background

Item 类型,背景元素(如 Rectangle)。

highlightRangeMode

GridView.HighlightRangeMode 枚举类型,高亮范围模式:

GridView.NoHighlightRange(默认):无高亮范围。

GridView.StrictlyEnforceRange:严格限制高亮范围。

GridView.ApproximateHighlightRange:近似高亮范围。

highlightMoveDuration

整数类型,高亮指示器移动的动画时长(毫秒)。

交互属性

focus

布尔类型,是否获取焦点(默认 false)。

enabled

布尔类型,是否启用交互(默认 true)。

pressDelay

整数类型,长按识别的延迟时间(毫秒,默认 500)。

interactive

布尔类型,是否可交互(如滚动、选择,默认 true)。

moveDistance

实数类型,触发移动的最小距离(默认 5)。

信号与事件

onPositionChanged

信号处理函数,内容位置变化时触发。

onContentXChanged、onContentYChanged

信号处理函数,水平 / 垂直滚动位置变化时触发。

onCurrentIndexChanged

信号处理函数,当前选中项索引变化时触发。

onAdd

信号处理函数,添加项时触发。

onRemove

信号处理函数,移除项时触发。

onMove

信号处理函数,移动项时触发。

onClicked

信号处理函数,点击项时触发。

onDoubleClicked

信号处理函数,双击项时触发。

onPressed

信号处理函数,按下项时触发。

onReleased

信号处理函数,释放项时触发。

高级属性

keyNavigationWraps

布尔类型,键盘导航是否循环(默认 false)。

visibleArea

Flickable.VisibleArea 对象,可视区域的信息(如 visibleArea.progress)。

repeater

Repeater 类型,内部使用的重复器(只读)。

states

State 列表,定义不同状态(如选中、禁用)。

transitions

Transition 列表,定义状态切换的动画效果。

RadioButton(单选按钮):用于提供单选的选项,可以设置其文本、选中状态等属性。

对象

ProgressBar(进度条):用于显示任务的进度,可以设置其进度值、样式等属性。

对象

Slider(滑动条):用于提供可调节的数值范围,可以设置最小值、最大值、当前值等属性。

对象

List View(列表视图):用于显示一个可滚动的列表,可以设置其数据模型、样式等属性。

属性 类型 描述

model var 数据源(如 ListModel、数组、JavaScript 对象)。

delegate Component 每个列表项的视觉呈现组件。

orientation enumeration 列表方向:ListView.Horizontal 或 ListView.Vertical(默认)。

spacing real 列表项之间的间距(像素)。

highlight Item 当前高亮项的视觉指示器(如选中项背景)。

highlightFollowsCurrentItem bool 高亮是否跟随当前项(默认 true)。

currentIndex int 当前选中项的索引(-1 表示无选中项)。

currentItem Item 当前选中项的实例。

二、滚动与定位

属性 类型 描述

contentHeight real(只读) 内容总高度(所有项和间距的总和)。

contentWidth real(只读) 内容总宽度。

contentX real 水平滚动位置(左边缘偏移量)。

contentY real 垂直滚动位置(上边缘偏移量)。

flickDeceleration real 滚动减速速率(像素 / 秒 ²),影响惯性滚动的停止速度。

boundsBehavior enumeration 边界行为:

- ListView.StopAtBounds

- ListView.OverShootBounds

- ListView.FollowBounds

scrollBarPolicy enumeration 滚动条策略:

- Qt.ScrollBarAsNeeded

- Qt.ScrollBarAlwaysOff

- Qt.ScrollBarAlwaysOn

scrollMode enumeration 滚动模式:

- ListView.ScrollFree

- ListView.SnapToItem

- ListView.SnapOneItem

visibleArea VisibleArea 可视区域信息(包含 progress、heightRatio 等属性)。

三、性能优化

属性 类型 描述

cacheBuffer real 缓存区大小(像素),控制可视区域外预渲染的项目数量。

clip bool 是否裁剪不可见区域(默认 false,设为 true 可提高性能)。

graphicsEffect GraphicsEffect 应用于整个列表的图形效果(如模糊、阴影)。

implicitHeight real 隐式高度(由内容决定)。

implicitWidth real 隐式宽度。

invertViewport bool 是否反转视图方向(用于特殊布局需求)。

isHighlighting bool(只读) 是否正在高亮(用于动画控制)。

四、交互与事件

属性 类型 描述

add signal 当模型添加项时触发。

move signal 当模型移动项时触发。

remove signal 当模型移除项时触发。

update signal 当模型更新项时触发。

contentItem Item(只读) 内容项(包含所有列表项的容器)。

flickBegin signal 开始快速滚动时触发。

flickEnd signal 快速滚动结束时触发。

pressed signal 列表项被按下时触发。

released signal 列表项被释放时触发。

clicked signal 列表项被点击时触发。

doubleClicked signal 列表项被双击时触发。

contentXChanged signal 水平滚动位置变化时触发。

contentYChanged signal 垂直滚动位置变化时触发。

五、高级布局与代理

属性 类型 描述

header Item 列表头部(固定在顶部)。

footer Item 列表尾部(固定在底部)。

section Section 分组信息(用于分组列表)。

layoutDirection enumeration 布局方向:Qt.LeftToRight 或 Qt.RightToLeft。

requiredProperty string 代理中必须存在的属性(用于性能优化)。

visibleItemCount int 可视区域内的最大项数(用于性能预估)。

六、方法

方法 描述

positionViewAtBeginning() 滚动到列表开始位置。

positionViewAtEnd() 滚动到列表结束位置。

positionViewAtIndex(index, policy) 将指定索引项滚动到可视区域,policy 控制对齐方式(如 ListView.AlignCenter)。

positionViewAtItem(item, policy) 将指定项滚动到可视区域。

forceLayout() 强制重新布局(用于动态内容变化后)。

itemAt(x, y) 返回指定坐标处的列表项。

相关文章:

开发常用的QT mql组件

Column Column 是一种将其子项沿单个列定位的类型。它是不使用锚点的情况下垂直定位一系列项目的便捷方式。 add : Transition bottomPadding : real leftPadding : real move : Transition padding : real populate : Transition rightPadding : real spacing : rea…...

Git操作记录

一.简单上传操作 1.Git 全局设置 git config --global user.name "xxx" git config --global user.email "xxx"2.创建新存储库 git clone gitgitlab.xxx.cn:xx/xxx/xxx.git cd test touch README.md git add README.md git commit -m "add README&qu…...

Vue Router的核心实现原理深度解析

1. Vue Router的基本架构 Vue Router的核心功能是实现前端路由,即在不重新加载页面的情况下更改应用的视图。它的基本架构包括: 路由配置:定义路径与组件的映射关系路由实例:管理路由状态和提供导航方法路由视图:渲染…...

Python趣学篇:用Pygame打造绚烂流星雨动画

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《Python星球日记》 目录 一、项目简介与效果展示二、技术栈与核…...

AI系统负载均衡与动态路由

载均衡与动态路由 在微服务架构中,负载均衡是实现服务高可用和性能优化的关键机制。传统负载均衡技术通常围绕请求数、连接数、CPU占用率等基础指标进行分发,而在AI系统中,特别是多模型、多异构算力(如CPU、GPU、TPU)共存的环境下,负载均衡不仅要考虑节点资源消耗,还需…...

山西省第十八届职业院校技能大赛 网络建设与运维赛项 样题

山西省第十八届职业院校技能大赛 网络建设与运维赛项 (学生组) 样题 2024 年 11 月 xx 日 2 赛题说明 一、竞赛项目简介 “网络建设与运维”竞赛共分为模块一:网络理论测试与网络 运维;模块二: 网络建设与调试&a…...

Stone 3D新版本发布,添加玩家控制和生物模拟等组件,增强路径编辑功能,优化材质编辑

后续版本号改为构建日期加小版本,所以最新版本为20250603.01 功能更新如下: 1. 改写fps-controls组件,简化游戏应用的创建,你只需要一个场景glb,然后给Scene节点添加fps-controls组件,即可完成一个第一人…...

【Qt】之【Get√】【Bug】通过值捕获(或 const 引用捕获)传进 lambda,会默认复制成 const

通过值捕获&#xff08;或 const 引用捕获&#xff09;传进 lambda&#xff0c;会默认复制成 const。 背景 匿名函数外部定义 QSet<QString> nameSet,需要传入匿名函数使用修改 connect(dlg, ..., [nameSet](...) {nameSet.insert(name); // ❌ 这里其实是 const QSet…...

排序算法C语言实现

算法概览 排序算法平均时间复杂度最坏时间复杂度空间复杂度稳定性适用场景插入排序O(n)O(n)O(1)稳定小规模/基本有序希尔排序O(n log n)O(n)O(1)不稳定中等规模冒泡排序O(n)O(n)O(1)稳定教学/小规模堆排序O(n log n)O(n log n)O(1)不稳定大规模数据选择排序O(n)O(n)O(1)不稳定…...

Python----目标检测(训练YOLOV8网络)

一、数据集标注 在已经采集的数据中&#xff0c;使用labelImg进行数据集标注&#xff0c;标注后的txt与原始 图像文件同名且在同一个文件夹&#xff08;data&#xff09;即可。 二、制作数据集 在data目录的同目录下&#xff0c;新建dataset目录&#xff0c;以存放制作好的YOLO…...

构建 MCP 服务器:第一部分 — 资源入门

什么是模型上下文协议? 模型上下文协议(MCP) 是Claude等大型语言模型 (LLM) 与外部数据和功能安全交互的标准化方式。您可以将其想象成一个平视显示器,或者 AI 的 USB 端口——它提供了一个通用接口,允许任何兼容 MCP 的 LLM 连接到您的数据和工具。 MCP 提供了一个集中式协…...

c# :this() 和 :base()区别

在 C# 中&#xff0c;:this() 和 :base() 都用于构造函数的重载和继承&#xff0c;但它们有不同的用途和上下文&#xff1a; 1. :this() 用途&#xff1a;用于调用当前类中的其他构造函数&#xff08;构造函数重载&#xff09;。场景&#xff1a;当你希望一个构造函数先执行另…...

使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十五讲)

这一期讲解lvgl中日历控件的基础使用&#xff0c;Calendar 部件是一个经典日历&#xff0c;它具有以下功能&#xff1a;• 通过一个7x7矩阵显示任何月份 • 显示日期名称 • 突出显示当前日期&#xff08;今天&#xff09; • 突出显示任何用户定义的日期 日历是一个可编辑的小…...

Vue中实现表格吸底滚动条效果,列太多时左右滚动条始终显示在页面中

1、安装 npm install el-table-horizontal-scroll 2、全局注册&#xff08;main.js&#xff09; import horizontalScroll from el-table-horizontal-scrollVue.use(horizontalScroll) 如下图&#xff0c;在main.js加上上面的代码 3、表格内引用 <el-table :data"…...

BeeWorks 协同办公能力:局域网内企业级协作的全场景重构

在企业数字化办公场景中&#xff0c;BeeWorks 以强大的协同办公能力&#xff0c;将局域网内的通讯、协作、业务流程整合为统一整体。作为专注于企业级局域网环境的协作平台&#xff0c;其不仅提供即时通讯基础功能&#xff0c;更通过办公工具集成、会议能力强化、业务系统对接等…...

Mermaid 绘图--以企业权限视图为例

文章目录 一、示例代码二、基础结构设计2.1 组织架构树2.2 权限视图设计 三、销售数据权限系统四、关键语法技巧汇总 一、示例代码 在企业管理系统开发中&#xff0c;清晰的权限视图设计至关重要。本文将分享如何使用 Mermaid 绘制直观的企业权限关系图&#xff0c;复制以下代…...

Redis(02)Win系统如何将Redis配置为开机自启的服务

一、引言 Redis 是一款高性能的键值对存储数据库&#xff0c;在众多项目中被广泛应用。在 Windows 环境下&#xff0c;为了让 Redis 能更稳定、便捷地运行&#xff0c;将其设置为系统服务并实现自动启动是很有必要的。这样一来&#xff0c;系统开机时 Redis 可自动加载&#xf…...

C++课设:高效的日程管理系统

名人说&#xff1a;路漫漫其修远兮&#xff0c;吾将上下而求索。—— 屈原《离骚》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 专栏介绍&#xff1a;《编程项目实战》 目录 一、C日程管理系统的时代价值1. 为什么选…...

功能测试、性能测试、安全测试详解

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、功能测试 1、单接口功能 手工测试中的单个业务模块&#xff0c;一般对应一个接口 例如&#xff1a; 登录业务------登录接口 加入购物车业务------加入购…...

提示词指南 --- 提示词的基本结构

提示词指南 --- 提示词的基本结构以及三种角色 什么是Prompt (提示词)Prompt的基本结构和三种角色提示词的三种核心“角色”&#xff08;Role&#xff09; 真实例子 什么是Prompt (提示词) 我们可以把“Prompt&#xff08;提示词&#xff09;”想象成和AI聊天时你说的“一句话…...

UI学习—cell的复用和自定义cell

前言 Nib是什么&#xff1f; Nib就是.xib文件&#xff1a;一个可视化的UI界面文件&#xff0c;它记录了一个UI组件&#xff08;例如一个表格单元格Cell&#xff09;的界面布局信息&#xff0c;可以在interfaceBuilder中创建 [UINib nibWithNibName:"CustomCell" b…...

20250605使用boot-repair来恢复WIN10和ubuntu22.04.6双系统的启动

rootrootrootroot-X99-Turbo:~$ sudo apt-get install boot-repair rootrootrootroot-X99-Turbo:~$ sudo add-apt-repository ppa:yannubuntu/boot-repair rootrootrootroot-X99-Turbo:~$ sudo apt-get install boot-repair 20250605使用boot-repair来恢复WIN10和ubuntu22.04.6…...

网络安全面试题目(无答案)

一、渗透测试与漏洞挖掘 如何绕过WAF进行SQL注入&#xff1f;列举三种技术并解释原理。 答案要点&#xff1a; 分块传输编码&#xff08;Chunked Transfer&#xff09;绕过正则检测 畸形HTTP参数&#xff08;如参数污染、Unicode编码&#xff09; 利用WAF规则盲区&#xff08…...

JavaScript性能优化实战

### 1. 减少全局变量 JavaScript里&#xff0c;全局变量就像一个大杂烩&#xff0c;啥都往里扔&#xff0c;很容易出问题&#xff0c;还会影响性能。为啥呢&#xff1f;因为全局变量会被所有函数共享&#xff0c;查找起来特别费劲&#xff0c;就像在一个大仓库里找东西&#xf…...

接口安全SOAPOpenAPIRESTful分类特征导入项目联动检测

1 、 API 分类特征 SOAP - WSDL OpenApi - Swagger RESTful - /v1/api/ 2 、 API 常见漏洞 OWASP API Security TOP 10 2023 3 、 API 检测流程 接口发现&#xff0c;遵循分类&#xff0c;依赖语言&#xff0c; V1/V2 多版本等 Method &#xff1a;请求方法 攻击方…...

视频汇聚平台EasyCVR“明厨亮灶”方案筑牢旅游景区餐饮安全品质防线

一、背景分析​ 1&#xff09;政策监管刚性需求​&#xff1a;国家食品安全战略及 2024年《关于深化智慧城市发展的指导意见》要求构建智慧餐饮场景&#xff0c;推动数字化监管。多地将“AI明厨亮灶”纳入十四五规划考核&#xff0c;要求餐饮单位操作可视化并具备风险预警能力…...

sql server如何创建表导入excel的数据

在 SQL Server 中&#xff0c;可以通过几种方式将 Excel 数据导入到数据库表中。下面是一个完整的流程&#xff0c;包括如何创建表&#xff0c;以及将 Excel 数据导入该表的方法&#xff1a; ✅ 方法一&#xff1a;使用 SQL Server Management Studio (SSMS) 的导入向导&#x…...

仓库自动化搬运:自动叉车与AGV选型要点及核心技术解析

自动叉车与AGV均可实现自主作业&#xff0c;无需人工驾驶即可搬运托盘化货物。然而&#xff0c;这两种解决方案存在一些关键差异。 自动叉车与AGV的对比 自动叉车与AGV是截然不同的车辆&#xff0c;其差异主要源于原始设计&#xff1a; 自动叉车是制造商对传统手动叉车进行改…...

java UDP 模板

UDP&#xff08;User Datagram Protocol&#xff09;是一种无连接的传输层协议&#xff0c;在 Java 中可以使用 UDP 进行网络编程。理论上没有服务器客户端之分&#xff0c;实际上算是有的&#xff0c;以下是 Java 中 UDP 编程的基本步骤和示例代码&#xff1a; 服务器端 创建…...

【亲测有效】Mybatis-Plus更新字段为null

Mybatis-Plus更新字段为null 遇到问题 Mybatis-Plus更新的默认行为如下: Mybatis-Plus默认如果某个传入参数的字段为null, 默认不更新这个字段, 例如有个Double类型的字段, 当前数据库数据为10, 然后传参时当前字段为null, 实际上Mybatis-Plus是不会覆盖该字段为null的, 仍然…...