qt-ui和QML整合
更新时间:2023-11-18 11:19:01 阅读量: 教育文库 文档下载
- qtui和函数推荐度:
- 相关推荐
将QML整合到基于QWidget UI程序的方法有很多种,而具体采用哪种方法取决于现有UI代码的特性。
与基于QWidget的UI整合
如果你已经有了一个基于QWidget的UI,QML widgets可以使用QDeclarativeView来进行集成。QDeclarativeView是QWidget的一个子类,所以你可以像加载其他QWidget一样把它加载进你的UI。 具体方法是使用QDeclarativeView::setSource()方法加载一个QML文件到视图中,然后将这个视图(即QDeclarativeView)加到你的UI中。 view plain
1. QDeclarativeView *qmlView = new QDeclarativeView; 2. qmlView->setSource(QUrl::fromLocalFile(\3.
4. QWidget *widget = myExistingWidget();
5. QVBoxLayout *layout = new QVBoxLayout(widget); 6. widget->addWidget(qmlView);
这种方法的缺点在于与QWidget相比,QDelarativeVeiw的初始化过程更慢,而且使用更多的内存。如果创建大量的 QDelarativeVeiw对象可能会导致性能的下降。在这种情况下,更好的选择是用QML重写你的widgets,使用main QML widget来加载widget, 从而替代QDelarativeVeiw的滥用。
请注意,QWidgets的UI设计理念与QML并不相同,所以将基于QWidget的应用移植到QML并不总是一个好主意。如果你的UI是由少数 几个复杂、静态的元素的组成,使用QWidgets是一个更好的选择。而如果你的UI是由大量简单、动态的元素组成,那么QML则是你的最佳选择。
与基于QGraphicsView的UI整合
将QML widgets加入到QGraphicsScene
如果你已经有了一个基于Graphics View Framework的UI,你可以直接将QML widgets集成到你的QGraphicsScene中。具体方法是使用QDeclarativeComponent 从QML文件中创建一个QGraphicsObject,并通过使用QGraphicsScene::addItem(), 方法把这个图形对象加到你的scene中,或者将其父化到已经存在与QGraphicsScene的组件中。举例说明: > view plain
1. QGraphicsScene* scene = myExistingGraphicsScene(); 2. QDeclarativeEngine *engine = new QDeclarativeEngine;
3. QDeclarativeComponent component(engine, QUrl::fromLocalFile(\4. QGraphicsObject *object =
5. qobject_cast
推荐使用下面的一些QGraphicsView选项来优化QML UIs的性能:
? ? ? QGraphicsView::setOptimizationFlags(QGraphicsView::DontSavePainterState) QGraphicsView::setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate) QGraphicsScene::setItemIndexMethod(QGraphicsScene::NoIndex) 在QML中加载QGraphicsWidget 对象 另一个可供选择的方法是将你现有的QGraphicsWidget 对象暴露给QML,并且在QML中构建你的scene。请参见图形布局示例,它展示了如何结合QGraphicsWidget 、QGraphicsLinearLayout 以及QGraphicsGridLayout的使用,将Qt图形布局类暴露给QML。 为了将现有的QGraphicsWidget类暴露给QML,需使用qmlRegisterType()。在QML中使用C++型别的进一步信息,请参见在C++中拓展QML。 (译者注:也看参阅QML与C++混合编程使用)
正在阅读:
qt-ui和QML整合11-18
高一语文上学期文言文整理资料04-06
爱发现的我作文500字07-07
第一次发现美作文600字07-08
三年级看图写话秋天的图画07-11
新安志卷九、十及附05-09
2016年北京市通州区中考二模语文试题及答案详解 - 图文01-31
关于人才转型10-15
那些笑声作文400字07-01
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 整合
- QML
- qt
- ui
- 浙江大学远程教育学院试题卷(期中)
- 薪酬与福利管理 - - 华南理工 - 2013最新答案
- 交通设施工程施工方案
- 遗传习题1
- 医用电气设备的安全检测- 测试方法 - 图文
- 书面表达句子写作训练(2016改编版)
- 冰山模型和洋葱模型
- 高中数学解题方法谈 - 线性规划求最值问题
- 英语语法口诀歌
- 山东省威海市乳山一中2014届高三1月限时训练物理试题
- 乡级土地利用总体规划编制规程报批稿(最终稿)修改20100621 - 图文
- 有效开展大课间体育活动的几点建议
- 小学语文第九册习作5 教学设计
- 化妆师初级理论知识复习题
- 最新-区国土局7年上半年工作总结 精品
- 六年级华杯赛奥数竞赛模拟题(30套)
- 2015广州二模(理综物理)
- 新约概论
- 委托代建及项目回购协议书
- 2016国家公务员考试面试指导:应急应变题型变化趋势