qt是目前最先进、最完整的跨平台c 开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。
点击获取qt组件下载
本教程介绍了在使用qt 6作为最低qt版本并使用cmake作为构建系统时,如何使用qt creator开发适用于android和ios设备的qt quick应用程序。(点击这里回顾上文:)
当您倾斜设备时,应用程序的主视图会显示一个 svg 气泡图像,该图像会在屏幕上移动。
我们在本教程中使用 bluebubble.svg,但您可以使用任何其他图像或组件来代替。
要在运行应用程序时显示图像,您必须在向导为您创建的 cmakelists.txt 文件的 resources 部分中将其指定为资源:
qt_add_qml_module(appaccelbubbleuri accelbubbleversion 1.0qml_files main.qmlresources bluebubble.svg)
我们通过添加一个以 bluebubble.svg 作为源的 image 组件在 main.qml 文件中创建主视图:
image {id: bubblesource: "bluebubble.svg"smooth: true
接下来,我们添加自定义属性以根据主窗口的宽度和高度定位图像:
property real centerx: mainwindow.width / 2property real centery: mainwindow.height / 2property real bubblecenter: bubble.width / 2x: centerx - bubblecentery: centery - bubblecenter
我们现在要添加代码以根据加速度计传感器值移动气泡。 首先,我们添加以下导入语句:
import qtsensors
接下来,我们添加具有必要属性的 accelerometer 组件:
accelerometer {id: acceldatarate: 100active:true
然后,我们添加以下 javascript 函数,这些函数根据当前的 accelerometer 值计算气泡的 x 和 y 位置:
function calcpitch(x,y,z) {return -math.atan2(y, math.hypot(x, z)) * mainwindow.radians_to_degrees;}function calcroll(x,y,z) {return -math.atan2(x, math.hypot(y, z)) * mainwindow.radians_to_degrees;}
我们为 accelerometer 组件的 onreadingchanged 信号添加以下 javascript 代码,以使气泡在 accelerometer 值发生变化时移动:
onreadingchanged: {var newx = (bubble.x calcroll(accel.reading.x, accel.reading.y, accel.reading.z) * .1)var newy = (bubble.y - calcpitch(accel.reading.x, accel.reading.y, accel.reading.z) * .1)if (isnan(newx) || isnan(newy))return;if (newx < 0)newx = 0if (newx > mainwindow.width - bubble.width)newx = mainwindow.width - bubble.widthif (newy < 18)newy = 18if (newy > mainwindow.height - bubble.height)newy = mainwindow.height - bubble.heightbubble.x = newxbubble.y = newy}
我们要确保气泡的位置始终在屏幕范围内,如果加速度计返回的不是数字 (nan),则忽略该值并且不更新气泡位置。
我们在气泡的 x 和 y 属性上添加 smoothedanimation 操作,使其运动看起来更平滑。
behavior on y {smoothedanimation {easing.type: easing.linearduration: 100}}behavior on x {smoothedanimation {easing.type: easing.linearduration: 100}}
- qtitanribbon – ribbon ui组件:是一款遵循microsoft ribbon ui paradigm for qt技术的ribbon ui组件,qtitanribbon致力于为windows、linux和mac os x提供功能完整的ribbon组件。
- qtitanchart – qt类图表组件:是一个c 库,代表一组控件,这些控件使您可以快速地为应用程序提供漂亮而丰富的图表。
- qtitandatagrid – qt网格组件:提供了一套完整的标准 qtableview 函数和传统组件无法实现的独特功能。使您能够将不同来源的各类数据加载到一个快速、灵活且功能强大的可编辑网格中,支持排序、分组、报告、创建带状列、拖放按钮和许多其他方便的功能。
- qtitandocking:允许您像 visual studio 一样为您的伟大应用程序配备可停靠面板和可停靠工具栏。黑色、白色、蓝色调色板完全支持 visual studio 2019 主题!
凯发体育官方app的版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。