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

qml保姆级教程五:视图组件

💂 个人主页:pp不会算法v
🤟 版权: 本文由【pp不会算法v】原创、在CSDN首发、需要转载请联系博主
💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦

QML系列教程

QML教程一:布局组件

文章目录

  • 列表视图ListView
    • 属性
    • 信号
    • 函数
    • 示例
  • 网格视图GridView
    • 属性
    • 信号
    • 函数
    • 示例
  • 表格视图TableView
    • 属性
    • 信号
    • 方法
    • 示例
  • 滚动视图ScrollView
    • 属性
    • 示例
  • 树形视图TreeView
    • 属性
    • 信号
    • 函数
    • 示例
  • 分页视图TabView
    • 属性
    • 函数
    • 示例
  • 拆分视图SplitView
    • 属性
    • 函数
    • 示例
  • 滑动视图SwipeView
    • 属性
    • 示例
  • 路径视图PathView
    • 属性
    • 信号
    • 函数
    • 示例

列表视图ListView

属性

属性名是否只读说明默认值
add添加元素时的过渡效果。
addDisplaced添加元素时其他元素受到影响的过渡效果。
cacheBuffer缓存区域大小,用于视图快速滑动时提高性能。0
count只读列表项数量。0
currentIndex当前选中项的索引。-1
currentItem当前选中项的Item对象。null
currentSection只读当前选中项所在分段的标签。“”
delegate定义每个列表项的组件。null
displaced删除元素时其他元素受到影响的过渡效果。
displayMarginBeginning起始边缘显示区域大小。0
displayMarginEnd结束边缘显示区域大小。0
effectiveLayoutDirection只读layoutDirection 和 QT 的国际化功能决定的实际布局方向。Qt.LeftToRight
footer列表脚部的组件。null
footerItem只读列表脚部的Item对象。null
footerPositioning列表脚部的位置。ListView.End
header列表头部的组件。null
headerItem只读列表头部的Item对象。null
headerPositioning列表头部的位置。ListView.Beginning
highlight当前选中项的视觉效果。null
highlightFollowsCurrentItem当前选中项改变时,是否更新 highlightItem 的属性。true
highlightItem只读当前选中项的Item对象。null
highlightMoveDuration视觉效果移动时长。250
highlightMoveVelocity视觉效果移动速度。0
highlightRangeMode高亮模式。ListView.StrictlyEnforceRange
highlightResizeDuration视觉效果大小变化时长。50
highlightResizeVelocity视觉效果大小变化速度。0
keyNavigationEnabled是否响应键盘导航事件。true
keyNavigationWraps是否在到达列表边界时循环导航。false
layoutDirection布局方向。Qt.LeftToRight
model列表使用的模型对象。null
move移动元素时的过渡效果。
moveDisplaced移动元素时其他元素受到影响的过渡效果。
orientation列表方向。Qt.Vertical
populate初始化时添加元素的过渡效果。
preferredHighlightBegin高亮条的起始位置。0
preferredHighlightEnd高亮条的结束位置。0
remove删除元素时的过渡效果。
removeDisplaced删除元素时其他元素受到影响的过渡效果。
section分段列表项属性的信息。
section.property分段属性名。undefined
section.criteria分段标准。ListView.Direct
section.delegate定义每个分段的组件。null
section.labelPositioning分段列表中标签的位置。ListView.SectionLeading
snapMode滑动到指定位置时是否对齐。ListView.NoSnap
spacing列表项之间的间距。0
verticalLayoutDirection垂直布局方向。ListView.TopToBottom

在这里插入图片描述

信号

信号名说明
add()添加元素后触发。
remove()删除元素后触发。

函数

方法名说明
decrementCurrentIndex()currentIndex 属性值减一。
forceLayout()强制进行重新布局。
incrementCurrentIndex()currentIndex 属性值加一。
indexAt(real x, real y)返回指定坐标处的列表项索引。
itemAt(real x, real y)返回指定坐标处的列表项 Item 对象。
positionViewAtBeginning()将当前视图滚动至最开始位置。
positionViewAtEnd()将当前视图滚动至最末尾位置。
positionViewAtIndex(int index, PositionMode mode)将视图滚动至指定索引处。关于 PositionMode 枚举类型的取值意义,可查看 官方文档。

示例

    ListView {id:viewhighlight: Item{Rectangle { color: "lightsteelblue"; radius: 5 }}focus: truespacing:10width: parent.widthheight: parent.height*(2/3)model:10orientation: "Horizontal"delegate:Rectangle {width: view.width/4height: view.heightcolor: "pink"Text {// anchors.centerIn: parenttext: "rect" + index}}

在这里插入图片描述

网格视图GridView

属性

属性名类型描述
addTransition在GridView中添加项的过渡动画
addDisplacedTransition在GridView中添加位移项的过渡动画
cacheBufferint缓存项数量
cellHeightreal单元格高度
cellWidthreal单元格宽度
countint项数
currentIndexint当前项的索引
currentItemItem当前项
delegateComponent用于创建项的委托
displacedTransition移除GridView中的位移项的过渡动画
displayMarginBeginningint起始边距
displayMarginEndint结束边距
effectiveLayoutDirectionenumeration有效布局方向(从左到右或从右到左)
flowenumeration流程方向(水平、垂直或倾斜)
footerComponent页脚组件
footerItemItem页脚项
headerComponent页眉组件
headerItemItem页眉项
highlightComponent高亮项的委托
highlightFollowsCurrentItembool高亮项是否始终跟随当前项
highlightItemItem要高亮的项
highlightMoveDurationint高亮项移动过渡时间(以毫秒为单位)
highlightRangeModeenumeration高亮项模式,用于指定将哪些项考虑为高亮范围
keyNavigationEnabledbool是否启用键盘导航
keyNavigationWrapsbool当到达最后一项或第一项时,是否循环到另一端
layoutDirectionenumeration布局方向(从左到右或从右到左)
modelmodel数据模型
moveTransition移除GridView中的项的过渡动画
moveDisplacedTransition移除GridView中的位移项的过渡动画
populateTransition在GridView中填充所有项的过渡动画
preferredHighlightBeginreal高亮框开始位置的推荐值
preferredHighlightEndreal高亮框结束位置的推荐值
removeTransition移除GridView中的项的过渡动画
removeDisplacedTransition移除GridView中的位移项的过渡动画
snapModeenumeration自动对齐模式(禁用、开始、中间或结束位置)
verticalLayoutDirectionenumeration垂直布局方向(从上到下或从下到上)

在这里插入图片描述

信号

信号名描述
add()当在GridView中添加项时发出
remove()当在GridView中删除项时发出
currentIndexChanged(int index)当当前项的索引更改时发出

函数

函数名描述
forceLayout()强制对GridView进行重新布局
indexAt(real x, real y)返回位于指定坐标的项的索引
itemAt(real x, real y)返回位于指定坐标的项
moveCurrentIndexDown()将当前项向下移动一格
moveCurrentIndexLeft()将当前项向左移动一格
moveCurrentIndexRight()将当前项向右移动一格
moveCurrentIndexUp()将当前项向上移动一格
positionViewAtBeginning()将视图位置设置为第一项
positionViewAtEnd()将视图位置设置为最后一项
positionViewAtIndex(int index, PositionMode mode)将视图位置设置为指定索引处的项,使用指定的位置模式

示例

    GridView {width: 300; height: 200cellWidth: 80; cellHeight: 80model: ListModel {ListElement { name: "Alice"; number: "1234" }ListElement { name: "Bob"; number: "5678" }ListElement { name: "Charlie"; number: "91011" }}Component {id: contactsDelegateRectangle {id: wrapperwidth:120height: 80color: GridView.isCurrentItem ? "black" : "red"Text {id: contactInfotext: name + ": " + numbercolor: wrapper.GridView.isCurrentItem ? "red" : "black"}}}delegate: contactsDelegatefocus: true}

在这里插入图片描述

表格视图TableView

好的,以下是根据你提供的属性、信号和方法的详细表格,使用Markdown语法排版:

属性

属性名类型描述
columnSpacingreal列间距
columnWidthProvidervar列宽度提供者
columnsint列数
contentHeightreal内容高度
contentWidthreal内容宽度
delegateComponent项委托
modelmodel模型
reuseItemsbool是否重用项
rowHeightProvidervar行高度提供者
rowSpacingreal行间距
rowsint行数
viewTableView所属的TableView视图

信号

信号名描述
pooled()池化时触发的信号
reused()重用时触发的信号

方法

方法名描述
forceLayout()强制重新布局

示例

    ListModel {id: libraryModelListElement {title: "A Masterpiece"author: "Gabriel"}ListElement {title: "Brilliance"author: "Jens"}ListElement {title: "Outstanding"author: "Frederik"}}TableView {TableViewColumn {role: "title"title: "Title"width: 100}TableViewColumn {role: "author"title: "Author"width: 200}model: libraryModel}

在这里插入图片描述

滚动视图ScrollView

属性

属性说明
contentChildren : list该列表包含已在QML中声明为视图的子项的所有项。
contentData : list该列表包含已在QML中声明为视图的子对象的所有对象。

示例

    ScrollView {width: 200height: 200clip: trueLabel {text: "ABC"font.pixelSize: 224}}

在这里插入图片描述

树形视图TreeView

属性

属性描述
currentIndex当前选中的 table view 单元格
itemDelegate表格单元格使用的代理组件
model用于显示表格数据的 model
rootIndex表示模型中一个项目的索引,它可作为 TableView 视图项的根索引
section指定表头的一般特性以及每个表头所代表的列或行的选择准则
selection存储当前所选项的模型。

信号

信号描述
activated(QModelIndex index)当用户双击或者按下 Enter 键时发出。
clicked(QModelIndex index)当用户单击一个单元格时发出
collapsed(QModelIndex index)当用户折叠一个项时发出
doubleClicked(QModelIndex index)当用户双击一个单元格时发出
expanded(QModelIndex index)当用户展开一个项时发出
pressAndHold(QModelIndex index)当用户按住一个项时发出

函数

函数描述
void collapse(QModelIndex index)折叠一个项
void expand(QModelIndex index)展开一个项
QModelIndex indexAt(int x, int y)返回在点 (x, y) 处找到的表格单元格的 QModelIndex;如果这个点不在任何一个表格单元格内,则返回无效的 QModelIndex
bool isExpanded(QModelIndex index)检查给定的索引是否已经展开

示例

    ListModel {id: fileSystemModelListElement {fileName: "file1.txt"filePermissions: "rw"}ListElement {fileName: "file2.doc"filePermissions: "r"}ListElement {fileName: "file3.jpg"filePermissions: "r"}}TreeView {width: parent.widthheight: parent.heightTableViewColumn {title: "Name"role: "fileName"width: 300}TableViewColumn {title: "Permissions"role: "filePermissions"width: 150}model: fileSystemModel}

分页视图TabView

属性

属性名类型描述
contentItemItemTabView 的内容项。
countint当前的标签页数量。
currentIndexint当前选中的标签页索引。
frameVisiblebool标签页内容周围边框的可见性。
tabPositionint标签的位置,默认为顶部。可选值为 Qt.TopEdge(顶部)和 Qt.BottomEdge(底部)。
tabsVisiblebool标签栏的可见性。

函数

函数名参数类型描述
addTabstring, Component添加一个指定标题和组件的新标签页。
getTabint返回指定索引处的 Tab 对象。
insertTabint, string, Component在指定索引处插入一个具有指定标题和组件的新标签页。
moveTabint, int将一个标签页从一个索引位置移动到另一个。
removeTabint移除并销毁指定索引处的标签页。

示例

 TabView {Tab {title: "Red"Rectangle { color: "red" }}Tab {title: "Blue"Rectangle { color: "blue" }}Tab {title: "Green"Rectangle { color: "green" }}}

在这里插入图片描述

拆分视图SplitView

SplitView是一个控件,用于水平或垂直排列项目,每个项目之间有一个可拖动的拆分器。
SplitView中始终有一个(并且只有一个)项目的Layout.fillWidth设置为true(或者Layout.fillHeight,如果方向为Qt.Vertical)。这意味着在布局其他项目时,该项目将获得所有剩余空间。默认情况下,SplitView的最后一个可见子项将具有此设置,但可以通过在另一个项上将fillWidth显式设置为true来更改此设置。
由于fillWidth项目将自动调整大小以适应额外的空间,因此将忽略对其宽度和高度属性的显式指定(但仍将尊重Layout.miminimumWidth和Layout.maxiumWidth)。其他项目的初始尺寸应通过其宽度和高度属性进行设置。一旦用户拖动项目的拆分器句柄,对该项目的宽度或高度的任何绑定分配都将被打断。
手柄可以属于左侧或上侧的项目,也可以属于右侧或下侧的项目: 如果fillWidth项在右侧:则句柄属于左侧项。
如果fillWidth项在左侧:句柄属于右侧项。

属性

属性名类型描述
handleDelegateComponent定义拖拽调整分割条操作时使用的图形元素。
orientationint分割条的方向。可选值为 Qt.Horizontal(水平方向)和 Qt.Vertical(竖直方向)。
resizingbool指定是否允许用户拖拽调整分割条大小。默认值为 true。

函数

函数名参数类型描述
addItemItem在 SplitView 中添加一个项。
removeItemItem从 SplitView 中移除一个项。

示例

 SplitView {anchors.fill: parentorientation: Qt.HorizontalRectangle {width: 200Layout.maximumWidth: 400color: "lightblue"Text {text: "View 1"anchors.centerIn: parent}}Rectangle {id: centerItemLayout.minimumWidth: 50Layout.fillWidth: truecolor: "lightgray"Text {text: "View 2"anchors.centerIn: parent}}Rectangle {width: 200color: "lightgreen"Text {text: "View 3"anchors.centerIn: parent}}}

在这里插入图片描述

滑动视图SwipeView

允许滑动的多页窗口

属性

属性名是否只读说明默认值
horizontal只读是否为横向的滑动视图。
interactive是否允许用户进行交互操作。true
orientation视图的方向,可选值为“Horizontal”和“Vertical”。“Horizontal”
vertical只读是否为纵向的滑动视图。

示例

   SwipeView {id: viewcurrentIndex: 1anchors.fill: parentItem {id: firstPageText{anchors.centerIn:parenttext:"第一页"}}Item {id: secondPageText{anchors.centerIn:parenttext:"第二页"}}Item {id: thirdPageText{anchors.centerIn:parenttext:"第三页"}}}//页面指示器PageIndicator {id: indicatorcount: view.countcurrentIndex: view.currentIndexanchors.bottom: view.bottomanchors.horizontalCenter: parent.horizontalCenter}

在这里插入图片描述

路径视图PathView

属性

属性名类型描述
cacheItemCountint缓存的项数量
countint项的总数
currentIndexint当前选中项的索引
currentItemItem当前选中的项
delegateComponent定义了每个项的视觉外观和布局
dragMarginreal拖拽操作的边距
draggingbool是否正在拖拽
flickDecelerationreal手势滑动减速度,用于控制滑动停止的速度
flickingbool是否正在进行手势滑动
highlightComponent高亮项的视觉外观
highlightItemItem高亮的项
highlightMoveDurationint高亮项移动的持续时间
highlightRangeModeenumeration高亮范围模式,定义了如何确定高亮项的范围
interactivebool是否可以与 PathView 进行交互
maximumFlickVelocityreal手势滑动的最大速度
modelmodel数据源模型
movementDirectionenumeration项之间的移动方向
movingbool是否正在进行项之间的移动
offsetreal视图相对于其内容的偏移量
pathPath定义路径视图的路径
pathItemCountint路径中的项的数量
preferredHighlightBeginreal高亮范围的起始位置,参考值为 0-1
preferredHighlightEndreal高亮范围的结束位置,参考值为 0-1
snapModeenumeration对齐模式,定义了如何对齐项

附加属性:

属性名类型描述
isCurrentItembool是否为当前选中的项
onPathbool指示项是否在路径上
viewPathView关联的 PathView 对象

信号

信号名描述
dragEnded()拖拽结束时发射
dragStarted()拖拽开始时发射
flickEnded()手势滑动结束时发射
flickStarted()手势滑动开始时发射
movementEnded()项移动结束时发射
movementStarted()项移动开始时发射

函数

函数名参数类型描述
decrementCurrentIndex()当前选中项索引减1
incrementCurrentIndex()当前选中项索引加1
indexAt(real x, real y)real, real返回指定位置处的索引
itemAt(real x, real y)real, real返回指定位置处的项
positionViewAtIndex(int index, PositionMode mode)int, PositionMode将视图滚动到指定索引位置

示例

    Rectangle{anchors.fill: parentComponent{id: delegateColumn{id: wrapperopacity: PathView.isCurrentItem ? 1 : 0.5Image{anchors.horizontalCenter: nameText.horizontalCenterwidth: 64; height: 64source: icon}Text{id: nameTexttext: namefont.pointSize: 16}}}PathView{anchors.fill: parentmodel: ListModel{ListElement{name: "1"icon: "qrc:/qml.jpg"}ListElement{name: "2"icon: "qrc:/qml.jpg"}ListElement{name: "3"icon: "qrc:/qml.jpg"}}delegate: delegatepath: Path{startX: 120; startY: 100PathQuad { x: 120; y: 25; controlX: 260; controlY: 75 }PathQuad { x: 120; y: 100; controlX: -20; controlY: 75 }}}}

在这里插入图片描述

相关文章:

qml保姆级教程五:视图组件

💂 个人主页:pp不会算法v 🤟 版权: 本文由【pp不会算法v】原创、在CSDN首发、需要转载请联系博主 💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 QML系列教程 QML教程一:布局组件 文章目录 列表视图ListVi…...

2310d编译不过

struct A {this(int[] data) safe { a data; }int[] a; }void main() safe {int[3] test [1, 2, 3];A a A(test); }应该给data参数加上return scope.或让构造器为模板参数来推导,否则,构造器可以把栈分配切片赋值给全局变量....

CleanMyMac X4.14.1最新版本下载

CleanMyMac X是一个功能强大的Mac清理软件,它的设计理念是提供多个模块,包括垃圾清理、安全保护、速度优化、应用程序管理和文档管理粉碎等,以满足用户的不同需求。软件的界面简洁直观,让用户能够轻松进行日常的清理操作。 使用C…...

芯驰D9评测(3)--建立开发环境

1. 建立交叉编译链接环境 官网下载的SDK包中就有交叉工具链,米尔提供的这个 SDK 中除了包含各种源代码外还提供了必要的交叉工具链,可以直接用于编译应用程序等。 用户可以直接使用次交叉编译工具链来建立一个独立的开发环境,可单独编译…...

阿里云服务器IP地址查询方法(公网IP和私网IP)

阿里云服务器IP地址在哪查看?在云服务器ECS管理控制台即可查看,阿里云服务器IP地址包括公网IP和私有IP地址,阿里云百科分享阿里云服务器IP地址查询方法: 目录 阿里云服务器IP地址查询 阿里云服务器IP地址查询 1、登录到阿里云服…...

第47节——使用bindActionCreators封装actions模块

一、什么是action creators 1、概念 在Redux中,Action Creators是一种函数,它用于创建一个描述应用程序状态变化的action对象。Action对象是一个普通JavaScript对象,它包含一个描述action类型的字符串属性(通常称为“type”&…...

QT、c/c++通过宏自动判断平台

QT、c/c通过宏自动判断平台 Chapter1 QT、c/c通过宏自动判断平台 Chapter1 QT、c/c通过宏自动判断平台 原文链接:https://blog.csdn.net/qq_32348883/article/details/123063830 背景 为了更好的进行跨平台移植、编译、调试。 具体操作 宏操作 #ifdef _WIN32//d…...

对比表:阿里云轻量应用服务器和服务器性能差异

阿里云服务器ECS和轻量应用服务器有什么区别?轻量和ECS优缺点对比,云服务器ECS是明星级云产品,适合企业专业级的使用场景,轻量应用服务器是在ECS的基础上推出的轻量级云服务器,适合个人开发者单机应用访问量不高的网站…...

中国1km分辨率月最低温和最高温度数据集(1901-2020)

简介: 中国1km分辨率月最低温度数据集(1901-2020)是根据CRU发布的全球0.5气候数据集以及WorldClim发布的全球高分辨率气候数据集,通过Delta空间降尺度方案在中国地区降尺度生成的。使用了496个独立气象观测点数据进行验证&#x…...

EasyX图形库note4,动画及键盘交互

大家好,这里是Dark Flame Master,专栏从这篇开始就会变得很有意思,我们可以利用今天所学的只是实现很多功能,同样为之后的更加好玩的内容打下基础,从这届开始将会利用所学的知识制作一些小游戏,废话不多说&…...

C++设计模式-原型(Prototype)

目录 C设计模式-原型(Prototype) 一、意图 二、适用性 三、结构 四、参与者 五、代码 C设计模式-原型(Prototype) 一、意图 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 二、适用性 当…...

[补题记录] Atcoder Beginner Contest 322(E)

URL:https://atcoder.jp/contests/abc322 目录 E Probelm/题意 Thought/思路 Code/代码 E Probelm/题意 有 N 个改进计划,每个计划可以执行一次;有 K 个参数,每个计划可以将所有参数提升固定值,即计划 i 可以为第…...

目标检测算法改进系列之Backbone替换为FocalNet

FocalNet 近些年,Transformers在自然语言处理、图像分类、目标检测和图像分割上均取得了较大的成功,归根结底是自注意力(SA :self-attention)起到了关键性的作用,因此能够支持输入信息的全局交互。但是由于…...

buuctf-[BSidesCF 2020]Had a bad day 文件包含

打开环境 就两个按钮,随便按按 url变了 还有 像文件包含,使用php伪协议读取一下,但是发现报错,而且有两个.php,可能是自己会加上php后缀 所以把后缀去掉 /index.php?categoryphp://filter/convert.base64-encode/resourcei…...

Elasticsearch:什么时候应该考虑在 Elasticsearch 中添加协调节点?

仅协调节点(coordinating only nodes)充当智能负载均衡器。 仅协调节点的这种特殊角色通过减轻数据和主节点的协调责任,为广泛的集群提供了优势。 加入集群后,这些节点与任何其他节点类似,都会获取完整的集群状态&…...

Dubbo3应用开发—Dubbo注册中心引言

Dubbo注册中心引言 什么是Dubbo注册中心 Dubbo的注册中心,是Dubbo服务治理的⼀个重要的概念,他主要用于 RPC服务集群实例的管理。 注册中心的运行流程 使用注册中心的好处 可以有效的管理RPC集群的健康情况,动态的上线或者下线服务。让我…...

AS环境,版本问题,android开发布局知识

项目模式下有一个build.gradle,每个模块也有自己的build.gradle Android模式下有多个build.gradle,汇总在一起。(都会有标注是哪个模块下的) C:\Users\Administrator\AndroidStudioProjects 项目默认位置 Java web项目与android项目的区别…...

OpenCV查找和绘制轮廓:findContours和drawContours

1 任务描述: 绘制图中粗线矩形的2个边界,并找到其边界的中心线 图1 原始图像 2.函数原型 findContours( InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierarchy, int mode, …...

毕设-原创医疗预约挂号平台分享

医疗预约挂号平台 不是尚医通项目,先看项目质量(有源码论文) 项目链接:医疗预约挂号平台git地址 演示视频:医疗预约挂号平台 功能结构图 登录注册模块:该模块具体分为登录和注册两个功能,这些…...

PLL锁相环倍频原理

晶振8MHz,但是处理器输入可以达到72MHz,是因为PLL锁相环提供了72MHz。 锁相环由PD(鉴相器)、LP(滤波器)、VCO(压控振荡器)组成。 处理器获得的72MHz并非晶振提供,而是锁…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议&#xff08;EPSFD 2025&#xff09;将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会&#xff0c;EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】&#xff1a;开启编程世界的奇妙冒险 嘿&#xff0c;各位编程小白探险家&#xff01;欢迎来到 C# 的奇幻大陆&#xff01;今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类&#xff01;别害怕&#xff0c;跟着我&#xff0c;保准让你轻松搞…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...