
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毛星云等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)