
QML
文章平均质量分 70
vegetablesssss
一只菜鸟。
展开
-
(十一)TableView
TableView就是Qt Quick为了呈现出类似Excel表格样式数据而提供的组件,TableView和ListView类似,相比之下多了滚动条、挑选、可调整尺寸的表头等特性。它的数据也可以通过Model来提供,可以使用ListModel、XmlListModel,也可以使用C++中从QAbstractItemModel、QAbstractTableModel等继承而实现的Model。实例...原创 2022-05-25 14:14:42 · 699 阅读 · 0 评论 -
(十)ListView使用C++model
C++实现QML可用的ModelListView可以使用C++语言定义的Model,可以从QAbstractItemModel或者QAbstractListModel继承来实现自己的Model类。最简单的实现,只需要重写rowCount()、data()、rowNames()这三个方法。rowCount()返回Model中的数据条目个数,data(const QModelIndex& index, int role)用来获取某一行、某个角色对应的数据,QModelIndex代表Model中所存放数原创 2022-05-13 15:09:24 · 683 阅读 · 0 评论 -
(九)ListView
Qt中的Model-View编程框架,对Controller部分做了改动,引入了Delegate的概念,合起来就是Model-View-Delegate,Model负责提供数据,View负责提供布局管理和Item创建,样式由Delegate负责。ListViewListView用来显示一个条目列表,条目对应的数据来自于Model,而每个条目的外观则有Delegate决定。要使用ListView,必须为其指定一个Model,一个Delegate。Model可以是QML内建类型,如ListModel、Xml原创 2022-05-09 11:28:38 · 677 阅读 · 0 评论 -
(八)C++与QML混合编程----在C++中使用QML对象
Qt最核心的一个基础特性,就是元对象系统,通过元对象系统,你可以查询QObject的某个派生类的类名,有哪些信号槽,属性,可调用方法等信息,然后也可以使用QMetaObject::invokeMethod()调用QObject的某个注册到元对象系统中的方法。而对于使用Q_PROPERTY定义的属性,可以使用QObject的property()方法访问属性,如果该属性定义了WRITE方法,还可以使用setProperty()修改属性。所以,只要我们找到QML环境中的某个对象,就可以通过元对象系统来访问它的属性原创 2022-04-28 10:12:04 · 729 阅读 · 1 评论 -
(七)C++与QML混合编程---在QML中使用C++对象
QML中使用C++类Qt提供了两种在QML中使用C++对象的方式:在C++中实现一个类,注册为QML环境的一个类型,在QML环境中使用该类创建对象。在C++中构造一个对象,将这个对象设置为QML的上下文属性,在QML环境中直接使用该属性。定义可以导出的C++类要想将一个类或对象导出到QML中,必须满足下面两个条件:从QObject或QOjbect的派生类继承使用Q_OBJECT宏这两个条件也是使用QT信号槽的前提,就是为了让一个类能够进入QT的元对象系统中,只有使用元对象系统,一个类原创 2022-04-25 15:43:50 · 3064 阅读 · 0 评论 -
(六)Qt Quick元素布局
在Qt Quick中有两套与元素布局相关的类库,一套叫做Item Positioner(定位器),一套叫做Item Layout(布局),之前示例代码中的锚布局就是通过Item的anchors实现的。 定位器包括Row(行定位器)、Column(列定位器)、Grid(表格定位器)、Flow(流式定位器)。 布局管理器包括行布局(RowLayout)、列布局(ColumnLayout)、表格布局(GridLayout)。定位器定位器是一种容器元素,专门用来管理界面中的其他元素,与Qt Widg原创 2022-04-07 09:08:53 · 464 阅读 · 0 评论 -
(五)组件与动态对象
组件Component是封装好了的,只暴露了必要接口的QML类型,可以重复利用。一个Component既可以定义在独立的QML文件中,也可以嵌入到其他的QML文档中,通常如果一个Component比较小并且只在某个QML文档中使用,或者一个Component从逻辑上看从属于某个QML文档,那么就可以采用嵌入的方式来定义该Component。嵌入式定义组件下面一个颜色选择组件代码: Component { id: colorComponent; Rectangle {原创 2022-04-02 15:08:39 · 461 阅读 · 0 评论 -
(四)鼠标,键盘,定时器
鼠标import QtQuick 2.0Rectangle { width: 320; height: 240; MouseArea { anchors.fill: parent; acceptedButtons: Qt.LeftButton | Qt.RightButton; onClicked: { if(mouse.button == Qt.RightButton){原创 2022-04-01 10:09:03 · 555 阅读 · 0 评论 -
(三)Qt Qucik中的信号与槽
信号处理器信号处理器,顾名思义,就等价于Qt中的槽,一般以onSingal这种形式。import QtQuick 2.0import QtQuick.Controls 1.2Rectangle { width: 320; height: 240; color: "gray"; Button{ text: "Quit"; anchors.centerIn: parent; onClicked: {原创 2022-03-31 15:28:30 · 506 阅读 · 0 评论 -
Image对象加载网络图片报错qt.network.ssl处理
将D:\Qt\Qt5.9.0\Tools\QtCreator\bin目录的libeay32.dll和ssleay32.dll复制到D:\Qt\Qt5.9.0\5.9\msvc2015\bin目录即可原创 2022-03-29 16:53:02 · 601 阅读 · 0 评论 -
(二)qmlscene使用
开始工具栏中找到msvc或者minGW编译器的命令窗体:cd到qml文件所在的路径,输入qmlscene 文件名即可查看qml文件效果:原创 2022-03-28 14:12:11 · 756 阅读 · 0 评论 -
(一)Qt Quick Hello World
QML和Qt QuickQML和Qt Quick的关系类似于C++和STL,QML是一种说明性语言,语法类似于CSS,而Qt Quick模块是用QML开发的的一套标准库,可以使用Qt Quick来快速开发QML应用。实例在QT中新建一个Qt Quick程序,main函数代码如下:#include <QGuiApplication>#include <QQmlApplicationEngine>int main(int argc, char *argv[]){原创 2022-03-25 18:31:57 · 844 阅读 · 0 评论