QML--学习第二篇
来源:互联网 发布:windows虚拟机 mac os 编辑:程序博客网 时间:2024/06/07 06:24
QML的学习,一直找不到一个很好的参考资料,七零八落,找不到一个渐进的资料。希望自己学习的过程,给大家带来一些帮助。
QML之组件:
依然是main.cpp(当然,没有main.cpp),直接可以使用qmlviewer.exe 直接打开 xml当然可以)
#include <QtWidgets/qapplication.h>#include <qtdeclarative/QDeclarativeview.h>int main(int argc, char *argv[]){QApplication a(argc, argv);QDeclarativeView *m_qmlView = new QDeclarativeView(); m_qmlView->setSource(QUrl::fromLocalFile("source.qml")); //load qml filem_qmlView->show();return a.exec();}
我们给我们首先调用的qml为source.qml
import QtQuick 1.0Rectangle { id: page width: 320; height: 240 color: "lightgray" Text { id: helloText text: "Hello world!" y: 30 anchors.horizontalCenter: page.horizontalCenter //居中显示 font.pointSize: 24; font.bold: true //字体大小 } Grid { //grid 摆放 下面的6个 Cell元素 id: colorPicker x: 4; anchors.bottom: page.bottom; anchors.bottomMargin: 4 rows: 2; columns: 3; spacing: 3 //2行 3列 Cell { cellColor: "red"; onClicked: helloText.color = cellColor } //响应 clicked消息,设置 id为 helloText 的颜色值 Cell { cellColor: "green"; onClicked: helloText.color = cellColor } Cell { cellColor: "blue"; onClicked: helloText.color = cellColor } Cell { cellColor: "yellow"; onClicked: helloText.color = cellColor } Cell { cellColor: "steelblue"; onClicked: helloText.color = cellColor } Cell { cellColor: "black"; onClicked: helloText.color = cellColor } }}
source.qml使用了 一个非标准的 空间Cell, Cell是另外一个qml文件提供的自定义控件
Cell.qml
import QtQuick 1.0Item { id: container property alias cellColor: rectangle.color signal clicked(color cellColor) //clicked 消息 width: 40; height: 25 Rectangle { id: rectangle border.color: "white" anchors.fill: parent } MouseArea { anchors.fill: parent onClicked: container.clicked(container.cellColor) //响应 clicked消息 }}
库文件: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)
2 0
- QML--学习第二篇
- QML--学习第二篇
- 第二篇 QT程序员使用QML
- qml 学习
- QML学习
- QML--学习第三篇--状态和变换
- QML--学习第三篇--状态和变换
- QML学习:QML文件当做组件使用
- QML学习摘录 01:初识QML
- QML学习(1)
- QML学习(2)
- QML学习(3)
- qml学习入门资料
- qml入门学习小结
- qml学习资源
- 《QML HelloWorld》学习笔记
- QML学习实例
- QML学习笔记
- CheckStyle检查项目分布图
- 使用dbutils工具向数据库中存储大数据
- ASCII Unicode和UTF-8
- LeetCode 之 Construct Binary Tree from Inorder and Postorder Traversal
- 计数排序
- QML--学习第二篇
- 黑马程序员_泛型详解
- (2)JDBC (C3P0)大批量数据的插入、更新实用方法。(实战篇)-个人总结
- VMware虚拟机下linux上网的几种方式
- linux虚拟机中和主机三种网络连接方式的区别
- ActionBar的下拉了列框
- ios多线程概述
- python 类详解
- 不要做多余的事,不要说多余的话