Lv.的博客

随笔分类 -  QML

摘要:这里是在Win10下,使用Qt5.7.0(cpp+qml)实现Qml嵌入Widget以及Qml与Widget交互。 QQuickWidget类,可以解决此问题。 1、先在pro是加入 QT += quickwidgets 2、新建QmlWidget类,并继承QWidget。 main.cpp如下 # 阅读全文
posted @ 2020-08-20 18:00 Avatarx 编辑
摘要:C++调用qml函数,是通过下面的函数实现的: bool QMetaObject::invokeMethod(QObject *obj, const char *member, Qt::ConnectionType type, QGenericReturnArgument ret, <br>QGen 阅读全文
posted @ 2020-08-17 18:16 Avatarx 编辑
摘要:在QML中包含了很少的Element,因为够少,够简单,所以学起来很容易。在QML里面没有像Qt GUI程序里面类似QPushButton,QCheckBox之类标准控件。QML把我们能在屏幕上看到的内容(文字和图片)都浓缩为了Rectangle,Image和Text等等的几个简单元素,并通过一个稍 阅读全文
posted @ 2020-08-17 18:12 Avatarx 编辑
摘要:概念: Qt Quick : QML 类型 和 功能的标准库Qt Quick 模块:提供可视化组件,模型视图支持,动画框架以及用于构建用户界面的更多功能。Qt Quick Controls :基于Qt Quick 的可重用UI组件库。Qt Quick1 基于Graphics ViewQt Quick 阅读全文
posted @ 2020-08-17 17:59 Avatarx 编辑
摘要:简述 看了之前关于 QML 的一些介绍,很多人难免会有一些疑惑: Q1:QML 和 Qt Quick 之间有什么区别? Q2:QtQuick 1.x 和 QtQuick 2.x 之间有什么区别? Q3:为什么要引入 QML/Qt Quick? Q4:Qt Widgets 和 QML/Qt Quick 阅读全文
posted @ 2020-08-17 17:46 Avatarx 编辑
摘要:ApplicationWindow需要导入QtQuick.Controls Window需要导入QtQuick.Window 。 默认不可见,需要设置visible:true才可见。 主要区别就是ApplicationWindow提供了简单的方式创建程序窗口,因为其有属性menuBar、toolBa 阅读全文
posted @ 2020-08-17 17:14 Avatarx 编辑
摘要:QQmlApplicationEngine搭配Window QQuickView搭配Item 两者不同之处在于: 使用QQuickView显示QML文档,对窗口的控制权(比如设置窗口标题、Icon、窗口的最小尺寸等)在C++代码;而使用QQmlApplicationEngine加载以Window为根 阅读全文
posted @ 2020-08-17 16:14 Avatarx 编辑
摘要:使用 Qt Quick 写了个小游戏:疯狂算数。支持 Windows 和 Android 两个平台。 游戏简单,但牵涉到下面你的 Qt Quick 主题: 自己实现一个按钮 自适应分辨率 国际化 QML与C++混合编程 APK图标设置 APK名称汉化 动画 其实所有这些内容,在我的书《Qt Quic 阅读全文
posted @ 2016-04-09 15:54 Avatarx 编辑
摘要:在 QML 刚刚被引入到 Qt 4 的那段时间,人们往往在讨论 Qt Quick 是不是需要一个椭圆组件。由此,人们又联想到,是不是还需要其它的形状?这种没玩没了的联想导致了一个最直接的结果:除了圆角矩形,Qt Quick 什么都没有提供,包括椭圆。如果你需要一个椭圆,那就找个图片,或者干脆自己用 ... 阅读全文
posted @ 2015-09-15 21:40 Avatarx 编辑
摘要:PathViewPathView是 QtQuick 中最强大的视图,同时也是最复杂的。PathView允许创建一种更灵活的视图。在这种视图中,数据项并不是方方正正,而是可以沿着任意路径布局。沿着同一布局路径,数据项的属性可以被更详细的设置,例如缩放、透明度等。使用PathView首先需要定义一个代理... 阅读全文
posted @ 2015-09-15 21:36 Avatarx 编辑
摘要:与Qt model/view 架构类似,在自定义用户界面中,代理扮演着重要的角色。模型中的每一个数据项都要通过一个代理向用户展示,事实上,用户看到的可视部分就是代理。每一个代理都可以访问一系列属性和附加属性。这些属性及附加属性中,有些来自于数据模型,有些则来自于视图。前者为代理提供了每一个数据项的数... 阅读全文
posted @ 2015-09-15 21:23 Avatarx 编辑
摘要:Repeater适用于少量的静态数据集。但是在实际应用中,数据模型往往是非常复杂的,并且数量巨大。这种情况下,Repeater并不十分适合。于是,QtQuick 提供了两个专门的视图元素:ListView和GridView。这两个元素都继承自Flickable,因此允许用户在一个很大的数据集中进行移... 阅读全文
posted @ 2015-09-15 21:00 Avatarx 编辑
摘要:前面的章节我们介绍过模型视图。这是一种数据和显示相分离的技术,在 Qt 中有着非常重要的地位。在 QtQuick 中,数据和显示的分离同样也是利用这种“模型-视图”技术实现的。对于每一个视图,数据元素的可视化显示交给代理完成。与 Qt/C++ 类似,QtQuick 提供了一系列预定义的模型和视图。本... 阅读全文
posted @ 2015-09-15 20:37 Avatarx 编辑
摘要:自 QML 第一次发布已经过去一年多的时间,但在企业应用领域,QML 一直没有能够占据一定地位。很大一部分原因是,QML 缺少一些在企业应用中亟需的组件,比如按钮、菜单等。虽然移动领域,这些组件已经变得可有可无,但在桌面系统中依然不可或缺。为了解决这一问题,Qt 5.1 发布了 Qt Quick 的... 阅读全文
posted @ 2015-09-15 20:27 Avatarx 编辑
摘要:前面的章节中,我们看到了作为输入元素的MouseArea,用于接收鼠标的输入。下面,我们再来介绍关于键盘输入的两个元素:TextInput和TextEdit。TextInput是单行的文本输入框,支持验证器、输入掩码和显示模式等。12345678910111213141516171819202122... 阅读全文
posted @ 2015-09-15 18:54 Avatarx 编辑
摘要:上一章我们介绍了 QML中用于定位的几种元素,被称为定位器。除了定位器,QML还提供了另外一种用于布局的机制。我们将这种机制成为锚点(anchor)。锚点允许我们灵活地设置两个元素的相对位置。它使两个元素之间形成一种类似于锚的关系,也就是两个元素之间形成一个固定点。锚点的行为类似于一种链接,它要比单... 阅读全文
posted @ 2015-09-15 18:38 Avatarx 编辑
摘要:QML 提供了很多用于定位的元素。这些元素叫做定位器,都包含在 QtQuick 模块。这些定位器主要有Row、Column、Grid和Flow等。为了介绍定位器,我们先添加三个简单的组件用于演示:首先是RedRectangle,RedRectangle12345678import QtQuick 2... 阅读全文
posted @ 2015-09-15 17:05 Avatarx 编辑
摘要:前面我们简单介绍了几种 QML 的基本元素。QML 可以由这些基本元素组合成一个复杂的元素,方便以后我们的重用。这种组合元素就被称为组件。组件就是一种可重用的元素。QML 提供了很多方法来创建组件。不过,本章我们只介绍一种方式:基于文件的组件。基于文件的组件将 QML 元素放置在一个单独的文件中,然... 阅读全文
posted @ 2015-09-15 16:43 Avatarx 编辑
摘要:前面我们简单介绍了几种 QML 的基本元素。QML 可以由这些基本元素组合成一个复杂的元素,方便以后我们的重用。这种组合元素就被称为组件。组件就是一种可重用的元素。QML 提供了很多方法来创建组件。不过,本章我们只介绍一种方式:基于文件的组件。基于文件的组件将 QML 元素放置在一个单独的文件中,然... 阅读全文
posted @ 2015-09-15 16:26 Avatarx 编辑
摘要:QML 基本元素可以分为可视元素和不可视元素两类。可视元素(例如前面提到过的Rectangle)具有几何坐标,会在屏幕上占据一块显示区域。不可视元素(例如Timer)通常提供一种功能,这些功能可以作用于可视元素。本章我们将会集中介绍集中最基本的可视元素:Item、Rectangle、Text、Ima... 阅读全文
posted @ 2015-09-15 16:24 Avatarx 编辑

点击右上角即可分享
微信分享提示