1.学习了qt quick application

这是一种跟application不同的设计方式。主要就是靠“拖拖拽拽”,然后设置属性(颜色,大小),布局(margins等),然后要注意控件的从属关系。总体来说操作简单,但是花样较少。

2.学习了将QML object暴露给C++

书上的例子:

头文件

#ifndef N_H
#define N_H #include<QObject>
#include<QDebug> class N:public QObject
{Q_OBJECT
public:
QObject *myObject;
//explicit MyLabel(QObject *parent = 0);如果加上这一句就编译错误,不知道什么原因
Q_INVOKABLE void setMyObject(QObject* obj);
}; #endif // N_H

.cpp文件

 void N::setMyObject(QObject* obj)
{ // Set the object pointer
myObject = obj;
myObject->setProperty("visible", QVariant(true));
myObject->setProperty("text", QVariant("Bye bye world!")); }

然后main文件:

#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include<QtQml>
#include"n.h" int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
qmlRegisterType<N>("NN", , , "N");
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); return app.exec();
}

最后是main.qml内:

import QtQuick 2.2
import QtQuick.Window 2.1
import NN 1.0 Window {
visible: true
width:
height: MouseArea {
anchors.fill: parent
onClicked: {
Qt.quit();
}
}
N
{
id:littleN;
}
Text {
id:sha;
text: qsTr("Hello World")
anchors.centerIn: parent
Component.onCompleted:
{
littleN.setMyObject(sha);
}
}
}

除了这样设置属性之外,还介绍了函数的调用,可是没有看懂。。。那就以后再看吧:)

也就是这个函数的用法:

QMetaObject::invokeMethod

Qt5学习(2)的更多相关文章

  1. 我的QT5学习之路(目录)

    说明:本目录内容为自己学习的心得和记录,参考资料来源于网络,学习过程中多方汲取,如有错误,欢迎指正和批评. Qt开发相关文章目录 一.我的Qt学习之路系列 1.[笔记]我的Qt学习之路(一)——浅谈Q ...

  2. Qt5学习笔记(1)-环境配置(win+64bit+VS2013)

    Qt5学习笔记(1)-环境配置 工欲善其事必先-不装-所以装软件 久不露面,赶紧打下酱油. 下载 地址:http://download.qt.io/ 这个小网页就可以下载到跟Qt有关的几乎所有大部分东 ...

  3. 我的QT5学习之路(三)——模板库、工具类和控件(下)

    一.前言 作为第三篇的最后一部分,我们来看一下Qt的控件,谈到控件,就会让人想到界面的美观性和易操作性,进而想到开发的便捷性.作为windows界面开发的MFC曾经是盛行了多少年,但是其弊端也随着其他 ...

  4. 我的QT5学习之路(一)——浅谈QT的安装和配置

    一.前言 说到Qt,不能不说到C++,这门伟大的语言.因为其面向对象的编程思想和陡峭的学习曲线,一开始学习起来很是吃力.Qt从QT4开始基本封装了很多C++的工具库和界面库,而且支持跨平台,这是它最大 ...

  5. QT5学习记录(一)

    学习环境:Windows10 + QT5.13 + QT Creater4.9.1(2019-08-10 22:02:30) 1.基本工程创建操作 常规操作创建画面,可选择QDialog.MainWi ...

  6. qt5学习目录

    qt5下载与安装,VS2017的环境配置                                                                               q ...

  7. 我的QT5学习之路(二)——第一个程序

    一.前言 “工欲善其事,必先利其器”,上一节,我介绍了Qt的安装和配置方法,搭建了基本的开发平台.这一节,来通过一个简单的例子来了解Qt的编程样式和规范,开始喽~~~ 二.第一个程序——Hello W ...

  8. Qt5学习记录:QString与int值互相转换

    1)QString转int 直接调用toInt()函数 例: QString str("100"); int tmp = str.toInt(); 或者: bool ok; QSt ...

  9. Qt5学习笔记(基础)

    按钮 #include <QApplication> /*应用程序抽象类*/ #include <QWidget> //窗口类 #include <QPushButton ...

随机推荐

  1. rowStyle设置Bootstrap Table行样式

    日常开发中我们通常会用到隔行变色来美化表格,也会根据每行的数据显示特定的背景颜色,如果库存低于100的行显示红色背景 CSS样式 <style> .bg-blue { background ...

  2. JavaScript跨域问题

    通过实现Ajax通信的主要限制,来源于跨域安全策略.默认情况下,XHR对象只能访问与包含它的页面位于同一个域中的资源.这种安全策略可以预防某些恶意行为.但是,实现合理的跨域请求对于开发某些浏览器应用程 ...

  3. Fragment开发实战(一)

    一. Fragment的特征: 1. Fragment总是Activity界面的组成部分.Fragment可调用getActivity()方法获取它所在的Activity,Activity可调用Fra ...

  4. Flex AIR应用换肤功能(Android和IOS)

    说明 换肤功能,即将整个应用的皮肤都进行更换,其实质,是动态加载swf文件的过程,而这些swf文件则有css文件编译而来. 关于换肤功能,在android和ios系统的实现方式是不同的.主要原因,是因 ...

  5. 解析XML内容到User对象

    users.xml <?xml version="1.0" encoding="UTF-8"?> <xml-root> <conn ...

  6. QuartusII 13.0的完美破解

    网络上破解QuartusII 13.0软件的方法都不行,最后经过本人总结测试(独创),最终实现了QuartusII 13.0的破解,破解方法如下: 网上常规操作之后,会得到一个“license.dat ...

  7. 2018-8-10-C#-写系统日志

    title author date CreateTime categories C# 写系统日志 lindexi 2018-08-10 19:16:53 +0800 2018-2-13 17:23:3 ...

  8. Linux 内核 回顾: ISA

    设计上 ISA 总线非常老了, 并且是非常地低能, 但是它仍然持有一块挺大的控制设备的 市场. 如果速度不重要并且你想支持老式主板, 一个 ISA 实现要优于 PCI. 这个老标准 的另外一个好处是如 ...

  9. Vasya and a Tree CodeForces - 1076E (线段树 + dfs)

    题面 Vasya has a tree consisting of n vertices with root in vertex 1. At first all vertices has 0 writ ...

  10. apply call 用法

    1.对象转数组  tips 先看怎么用  再研究方法原理 var obj = {     0: 'qian',     1: 'long',     2: 'chu',     3: 'tian', ...