c 界面开发框架qt新手入门教程 – 如何创建移动应用程序(二)(qt 开源界面框架)-尊龙游戏旗舰厅官网

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、linuxmac os x提供功能完整的ribbon组件。
  • qtitanchart – qt类图表组件:是一个c 库,代表一组控件,这些控件使您可以快速地为应用程序提供漂亮而丰富的图表。
  • qtitandatagrid – qt网格组件:提供了一套完整的标准 qtableview 函数和传统组件无法实现的独特功能。使您能够将不同来源的各类数据加载到一个快速、灵活且功能强大的可编辑网格中,支持排序、分组、报告、创建带状列、拖放按钮和许多其他方便的功能。
  • qtitandocking:允许您像 visual studio 一样为您的伟大应用程序配备可停靠面板和可停靠工具栏。黑色、白色、蓝色调色板完全支持 visual studio 2019 主题!

尊龙游戏旗舰厅官网的版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年4月28日 上午11:39
下一篇 2023年4月28日 上午11:49

相关推荐

  • 评审会议议程 尊敬的各位评审专家: 大家好!今天我们将举行一次评审会议,对以下项目进行评审: 1. 项目计划2. 项目范围3. 项目目标4. 项目预算5. 项目进度6. 项目成果 …

    科研百科 2024年10月26日
    0
  • 2024年成都市首版次软件产品认定如何申报?详情→(软件首版次认定及补助政策)

    附件1:成都市首版次软件产品认定申报书(2024年) 附件2:材料真实性承诺书 附件3:xx区(市)县申报成都市首版次软件产品认定推荐汇总表(2024年)

    科研百科 2024年4月29日
    53
  • 本溪县畜牧产业结构调整让农民尝甜头

       吹面不寒杨柳风,正是剪绒好时节。记者在本溪满族自治县永旺种羊场看到,剪绒师傅们正手握剪刀在羊群间忙碌着,刚刚剪完的羊绒装满了一个个袋子,整齐地存放在库房内。nry …

    科研百科 2022年5月19日
    325
  • 标题: 解决生活中各种问题的科研项目 生活中,我们经常会遇到各种问题。有些问题是可以通过我们的努力来解决的,而有些则需要依靠其他人的帮助。作为一个科研项目,我们旨在解决各种实际问题…

    科研百科 2024年6月12日
    62
  • 房地产crm软件是所有业务数据的枢纽。它使一切井井有条,以便随时随地轻松访问。现代crm借助见解来运行成功的房地产营销活动并跟踪广告支出的回报。 房地产经纪人可以管理他们的合同和交…

    2022年8月18日
    352
  • 天眼查app显示,5月25日,毕节哈行网络科技有限公司成立,法定代表人为褚轶群,注册资本100万人民币,经营范围含共享自行车服务、小微型客车租赁经营服务、集中式快速充电站、宠物食品…

    科研百科 2024年5月9日
    48
  • 为进一步推动基层党建工作,张岔村充分利用手机微信平台来搞起自己的党建工作创新农村党建工作模式,张岔村通过微信平台发布信息、联系党员、倾听民意、解决民忧、凝聚民心的新途径,搭建了服务…

    科研百科 2023年11月8日
    169
  • 鄄城县委编办“党建 ”模式促进工作提质增效

    鲁网12月29日讯近年来,鄄城县委编办坚持党建引领,充分发挥党组织的战斗堡垒作用,积极探索“党建 ”模式,激发党员担当作为,促进机构编制工作提质增效。 党建 理论学习,提升干部队伍…

    科研百科 2023年1月19日
    453
  • 科研项目大三类是指: 1. 基础研究:研究基本科学问题,如物质结构,能量转换,电磁学,物理学等。 2. 应用研究:研究实际应用问题,如医学,农业,工程,计算机科学等。 3. 交叉学…

    科研百科 2024年8月1日
    60
  • 绍兴文理学院百度云人工智能学院简介 绍兴文理学院百度云人工智能学院是绍兴文理学院是一所新型学院,成立于2019年,是百度云与绍兴文理学院共建的人工智能学院。学院拥有一支由国内外著名…

    科研百科 2天前
    0
网站地图