如何在QML中使用ListView并导航到其它页面中

如何在QML中使用ListView并导航到其它页面中,第1张

1)使用PageStack来完成

在我们的RssReader中的例子中,我们使用了PageStack来完成我们的导航。我们可以把我们的每个页面都做成我们的Page。当我们的页面被点击后,我们把新的Page压入栈中。在返回时,我们只需要点击返回按钮即可:

我们可以在我的例程中找到相应的代码。

2)使用一个不可见的显示在需要时显示出来

在我们的使用中,我们使用两个重叠在一起的窗口,但是详细的页面只有在ListView中的item被点击后才能显示。在默认的情况下,我们显示ListView。

[html] view plaincopy在CODE上查看代码片派生到我的代码片

ListView {

id: listview

clip: true

anchorsfill: parent

model:mymodel

header: Text {

text: "This is the header"

fontpixelSize: 30

Rectangle {

anchorstop: parentbottom

width: listviewwidth

height: unitsgu(04)

color: "blue"

}

}

delegate: MyDelegate {}

footer: Text {

text: "This is the footer"

fontpixelSize: 30

}

}

Item {

id: popup

visible: false

clip: true

property url loadUrl

onLoadUrlChanged: {

opacity = 0;

visible = (loadUrl == '' false : true);

consolelog("opacity: " + opacity );

consolelog("visible: " + visible );

}

anchorsfill: parent

Rectangle {

id: bg

anchorsfill: parent

color: "white"

}

MouseArea{

anchorsfill: parent

enabled: popupvisible

//Eats mouse events

}

Loader{

focus: true

source: popuploadUrl

width: parentwidth

height: parentheight -toolbarheight

}

Rectangle {

id: toolbar

width: parentwidth

height: unitsgu(4)

anchorsbottom: parentbottom

color: "blue"

Icon {

name: "previous"

width: unitsgu(35)

height: unitsgu(35)

MouseArea {

anchorsfill: parent

onClicked: {

popuploadUrl = "";

anirunning = true;

}

}

}

}

NumberAnimation on opacity {

id: ani

from: 0

to: 1

duration: 3000

}

}

一、打开Qt Creator

选择:开始->所有程序->Qt520->Qt Creator

二、新建QML项目

(1)选择:文件->新建文件或项目

(2)选择:应用程序->Qt Quick Qpplication,点击“选择”按钮

(3)输入“项目名称”,点击“下一步”

(4)以后各步骤点击“下一步”即可

三、运行

右键项目->运行,或者直接点击“运行”按钮

这里可以看出,新建一个qml项目后,会生成一些默认的代码,直接运行即可!

效果如下:

个人认为,针对桌面开发时,很多时候如果能够C++与QML混编,效果会更好。

QML语法简单,而且动画效果强大,如果对JavaScript比较熟悉,那么学起QML则事半功倍,当然HTML与CSS也必不可少!

OpenCV是一个开源的图像处理库,QML是Qt官方推出的一个描述性语言,QtMarkupLanguage,QtQuick也是Qt官方推出的一个技术框架,在开发嵌入式、动态触屏等时有一定的优势。

模块的作用:

打一个很简单的比方,QML就是Qt的HTML,C就是Qt的JavaScript,而QtQuick相当于一些已经集成好的开发框架,使开发应用程序变得更加简单省事。

OpenCV是一个基于C/C的开源图像处理库,和Qt本身没有太多关联,其主要是用于计算机视觉和图形开发,Qt的扩展应用OpenCV并不是每个应用程序都要用到,只是某些有特殊需求的应用程序可以更方便地使用Qt扩展的OpenCV应用。比如说用Qt开发一个软件,要使用人脸识别功能,就可以集成OpenCV来实现。

使用频率:

虽然说QML相当于HTML,C相当于JavaScript,但是还是有一定区别:所有的网页都是通过解析HTML渲染出的,JavaScript虽然可以动态改变网页,但是最终还是通过改变HTML来达到效果;QML、C的关系恰好反过来,在Qt中,C是“更加底层”的,QML使用更加简单的标记语言的语法来调用底层的C绘图支持API,从而提高程序开发的效率。

使用QML可以更快速、简捷地开发应用程序,在Qt中的使用频率也是很高的,不过这要根据特定开发人群、开发目标而定。有些开发者习惯直接使用C开发,而有些开发者更喜欢简单的QML,很多时候都是“用QML开发用户界面,用C开发业务逻辑”,但是用C开发用户界面的也不在少数。

QtQuick是一套开发框架,核心语言就是QML。

QtQuick的使用频率不低,从Qt的NewProject界面就可以看出,QtQuick是和Qt传统的CWidge平起平坐的(当然还有QtforPython等)。

OpenCV在不需要图形处理功能的情况下是不需要用到的,所以不怎么好说“使用频率”,因为这是针对特定的软件需求来的。

是否有必要学习:

QtQuick能够使应用程序开发更有效率,但是并不是开发一个程序必备的,能用QtQuick开发的,C肯定能够做出来,但是耗费时间、精力更多。在Qt开发工作这一块,掌握Qt的核心功能是必须的,而且这还远远不够。在招聘的时候肯定是考察应聘者对Qt各种技术和开发思想的理解和掌握情况,而QtQuick是官方推出的框架,掌握其开发方法应该是基本功。

1 QT Creator是一款基于C++的集成开发环境,除了支持Python外,还支持C++、QML等语言的开发。而VS Code是一款跨平台的轻量级代码编辑器,支持多种编程语言的开发。

2 QT Creator的优势在于针对C++、QML等语言开发的工具和调试器非常强大,但是对于Python开发而言,QT Creator的功能较为单一,功能不如VS Code丰富。

3 VS Code支持Python语言的丰富插件和模块,可以满足Python编程的各种需求。同时还支持 Git 等多种功能,使开发者可以快速完成代码开发、调试等功能。

4 对于开发者而言,QT Creator需要安装较大的环境以支持开发,而VS Code安装及使用较为简单,几乎可以适用于所有的 *** 作系统。并且VS Code可以根据需要进行插件扩展,更好的满足开发者的需求。

综上所述,对于Python开发者而言,可以根据个人的需求与习惯来选择二者中的一款工具,而VS Code作为轻量级的编辑器,只要安装Python扩展包,即可支持Python语言开发。

以上就是关于如何在QML中使用ListView并导航到其它页面中全部的内容,包括:如何在QML中使用ListView并导航到其它页面中、qt creator中qml types下的组件是怎么加进去的、OpenCV_opencv毛星云等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9720037.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存