QML--学习第二篇

2023-10-29

QML的学习,一直找不到一个很好的参考资料,七零八落,找不到一个渐进的资料。希望自己学习的过程,给大家带来一些帮助。

QML之组件:

依然是main.cpp(当然,没有main.cpp),直接可以使用qmlviewer.exe 直接打开 xml当然可以)

[cpp]  view plain  copy  print ? 在CODE上查看代码片 派生到我的代码片
  1. #include <QtWidgets/qapplication.h>  
  2. #include <qtdeclarative/QDeclarativeview.h>  
  3. int main(int argc, char *argv[])  
  4. {  
  5.     QApplication a(argc, argv);  
  6.     QDeclarativeView *m_qmlView = new QDeclarativeView();   
  7.     m_qmlView->setSource(QUrl::fromLocalFile("source.qml"));  //load qml file  
  8.     m_qmlView->show();  
  9.     return a.exec();  
  10. }  

我们给我们首先调用的qml为source.qml

[cpp]  view plain  copy  print ? 在CODE上查看代码片 派生到我的代码片
  1. import QtQuick 1.0  
  2.   
  3. Rectangle {  
  4.     id: page  
  5.     width: 320; height: 240  
  6.     color: "lightgray"  
  7.   
  8.     Text {  
  9.         id: helloText  
  10.         text: "Hello world!"  
  11.         y: 30  
  12.         anchors.horizontalCenter: page.horizontalCenter  //居中显示  
  13.         font.pointSize: 24; font.bold: true              //字体大小  
  14.     }  
  15.   
  16.     Grid {                                               //grid 摆放 下面的6个 Cell元素  
  17.         id: colorPicker  
  18.         x: 4; anchors.bottom: page.bottom; anchors.bottomMargin: 4  
  19.         rows: 2; columns: 3; spacing: 3                  //2行 3列  
  20.   
  21.         Cell { cellColor: "red"; onClicked: helloText.color = cellColor } //响应 clicked消息,设置 id为 helloText 的颜色值  
  22.         Cell { cellColor: "green"; onClicked: helloText.color = cellColor }  
  23.         Cell { cellColor: "blue"; onClicked: helloText.color = cellColor }  
  24.         Cell { cellColor: "yellow"; onClicked: helloText.color = cellColor }  
  25.         Cell { cellColor: "steelblue"; onClicked: helloText.color = cellColor }  
  26.         Cell { cellColor: "black"; onClicked: helloText.color = cellColor }  
  27.     }  
  28. }  

source.qml使用了 一个非标准的 空间Cell, Cell是另外一个qml文件提供的自定义控件

Cell.qml

[cpp]  view plain  copy  print ? 在CODE上查看代码片 派生到我的代码片
  1. import QtQuick 1.0  
  2.   
  3. Item {  
  4.     id: container  
  5.     property alias cellColor: rectangle.color  
  6.     signal clicked(color cellColor)                 //clicked 消息  
  7.   
  8.     width: 40; height: 25  
  9.   
  10.     Rectangle {  
  11.         id: rectangle  
  12.         border.color: "white"  
  13.         anchors.fill: parent  
  14.     }  
  15.   
  16.     MouseArea {                                              
  17.         anchors.fill: parent  
  18.         onClicked: container.clicked(container.cellColor) //响应 clicked消息  
  19.     }  
  20. }  

库文件:Qt5Declaratived.lib    Qt5Guid.lib   Qt5Widgetsd.lib    Qt5Cored.lib

环境:    VS2010 + win7-64位 + Qt5.1.1

运行效果:选择不同的颜色块,字体显示不同颜色

               


注: qmlviewer.exe 目录为 Qt的bin目录下 (我的相对目录为 Qt5.1.1/5.1.1/msvc2010/bin)



FROM: http://blog.csdn.net/qyee16/article/details/17272057


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QML--学习第二篇 的相关文章

随机推荐

  • RxODE 包的使用 (CPT tutorial paper part 1)

    本文基于tutorial paper Wang W Hallow KM James DA A Tutorial on RxODE Simulating Differential Equation Pharmacometric Models
  • MIPI-DSI 三种 Video Mode 理解

    D PHY的物理层支持HS High Speed 和LP Low Power 两种工作模式 HS模式 低压查分信号 功耗大 高速率 80M 1Gbps 信号幅值 100mv 300mv LP模式 单端信号 功耗小 速率低 lt 10Mbps
  • QTableWidget详细使用示例(里面有QMenu实现多级菜单的方法)

    目录 一 创建行表头 二 往表格里插入单元项 带图片和不带图片 三 禁止表格可编辑 四 按行或列或单个选择单元项 五 设置列宽 包括列表头的和行表头的 1 这个普通的行和列都可以设置固定宽高 2 还可以将行和列的大小设为与内容相匹配 3 不
  • 《信号与系统》解读 第1章 信号与系统概述-2:时域信号的分类--确定性信号、离散信号、周期信号、线性信号、基本信号与复合信号

    目录 1 确定性信号与随机信号 2 连续信号与离散信号 3 周期信号与非周期信号 4 线性信号与非线性信号 5 基本信号与复合信号 5 1 单位阶跃信号 基本的数字信号 5 2 单位斜变信号 基本的数字积分 5 3 自然指数信号 信号的自然
  • Python 数据分析实战案例:基于电商销售数据的 RFM 模型构建

    目录 1 背景 2 分析目标 3 数据准备 4 数据清洗 4 1 查看是否含有缺失值 4 2 查看是否有异常值 4 3 数据整理 5 具体目标分析 5 1 分析每年销售额的增长率 5 2 各个地区分店的销售额 5 3 销售淡旺季分析 5 4
  • redis过期策略

    我们使用redis的时候一般会设置过期时间 redis设置过期时间 expire 只针对顶级key有效 即哈希结构不支持过期 value为hash结构的时候 不能对hash中的某一部分进行过期设置 expire key time 以秒为单位
  • PCL 环境下安装配置CGAL 5.5

    目录 一 CGAL简介 二 Using CGAL on Windows with Visual C 1 CGAL下载 2 GMP和MPRF安装 3 boost安装与环境变量设置 三 PCL环境下配置CGAL 四 测试代码 五 结果展示 一
  • 【机器学习】贝叶斯分类器(算法原理实现及sklearn实现)

    系列文章目录 第一章 先验概率和后验概率的通俗解释 贝叶斯分类 第二章 贝叶斯公式证明及Bayesain在机器学习重要地位的理解 第三章 机器学习 贝叶斯分类器 文章目录 系列文章目录 前沿 一 贝叶斯决策论 二 极大似然估计 三 朴素贝叶
  • ddt的使用

    ddt一指data driver test 是一种测试思想 意指数据驱动 这里将的ddt是ddt库 配合unittest使用 假设我们有个登录功能需要设计测试用例 用例如下 1 正确的账号密码登录 2 错误的账号密码登录 3 账号为空登录
  • 模拟电路设计(18)---负阻型正弦波振荡器

    负阻型正弦波振荡器 具有负的微变电阻特性的电子器件称为负阻器件 在一个LC或者谐振腔振荡回路中 若以负阻器件与消耗能量的常规电阻相抵消 使得振荡回路无能量消耗 那么电路也能维持正常的振荡 在实际电路中 负阻器件肯定是有源器件 由这种形式构成
  • Swagger 常用注解

    ApiOperation描述接口的详细内容 ApiModel描述实体类的相关信息 Api用在Controller上面说明Controller的信息 ApiModelProperty用在参数上说明参数的详细信息 ApiImplicitPara
  • 美团滑块模拟登录

    本教程仅限于学术探讨 也没有专门针对某个网站而编写 禁止用于非法用途 商业活动 恶意滥用技术等 否则后果自负 观看则同意此约定 如有侵权 请告知删除 谢谢 aHR0cHM6Ly9wYXNzcG9ydC5tZWl0dWFuLmNvbS9hY2
  • Chapter 17. Network Drivers

    17 Network Drivers Linux Device Drivers 3rd Edition Book Chapter 17 Network Drivers Having discussed char and block driv
  • InnoDB行锁等待

    关键词 InnoDB 行锁 行锁等待 行锁等待超时 问题 数据库错误 Lock wait timeout exceeded try restarting transaction 什么是锁等待 Lock Wait 呢 当事务A对数据表进行DD
  • Javaweb实验:静态网页制作

    Javaweb实验 1 静态网页制作 目录 Javaweb实验 前言 一 实验目的 二 实验原理 三 实验内容 四 实验步骤 五 实验结果 六 实验内容 七 实验步骤 八 实验结果 九 思考 1 frameset和frame标签的作用是什么
  • OpenGL错误总结

    const char getGLErrorInfo int errorId switch errorId case GL INVALID ENUM return GL Invalid Enum n case GL INVALID VALUE
  • python怎么实现检验_常用统计检验的Python实现

    前言 今天给大家整理了一些使用python进行常用统计检验的命令与说明 请注意 本文仅介绍如何使用python进行不同的统计检验 对于文中涉及的假设检验 统计量 p值 非参数检验 iid等统计学相关的专业名词以及检验背后的统计学意义不做讲解
  • Could not find OpenSSL. Install an OpenSSL development package or configure CMake with -DCMAKE_US

    安装cmake时 运行 configure 报错 CMake 3 17 0 rc2 Copyright 2000 2020 Kitware Inc and Contributors Found GNU toolchain C compile
  • transformer学习笔记

    文章目录 1 模型架构 1 1 seq2seq结构 1 2 注意力机制 2 transformer各部分介绍 2 1 encoder 2 1 1 encoder的输入 2 1 2 Multi head attention 2 1 3 lay
  • QML--学习第二篇

    QML的学习 一直找不到一个很好的参考资料 七零八落 找不到一个渐进的资料 希望自己学习的过程 给大家带来一些帮助 QML之组件 依然是main cpp 当然 没有main cpp 直接可以使用qmlviewer exe 直接打开 xml当