Qml 开发笔记

 

1. 编译中出现“The process could not be started!”错误

 

在Qml Viewer中添加qml Exe路径“C:/Qt/4.7.0/bin/qmlviewer.exe”

Main QML File可以选择 编译运行的qml文件

 

2. 

在Model的append方法中每一个属性间需要“,” 分割,如果没有的话运行会报,Unable to assign [undefined] to QUrl source 错误

 

3.

如果将model单独写出一qml,则ListView中的model要使用model的qml文件名并加"{}",否则如果都写在main中,则ListView中的model使用model的id。

 

4. 如何在QML中直接调用Qt中类的方法。

http://www.thisisqt.com/forum/viewthread.php?tid=346

http://www.thisisqt.com/?action-viewnews-itemid-12

http://wiki.forum.nokia.com/index.php/%E5%9C%A8C%2B%2B%E7%A8%8B%E5%BA%8F%E4%B8%AD%E4%BD%BF%E7%94%A8QML

 

 

为了能让在QML中可以直接调用某个方法,这个方法需要满足以下两个条件其中一个:

1.这个方法是是一个公开的槽,即声明在public slots访问区域中的方法。但有个缺点,槽没有返回值,

如果你需要使用返回值,请使用条件2。

2.方法的声明前需要带Q_INVOKABLE宏.

 

在main函数中我们调用setContextProperty将StringHelper设为QDeclarativeView中根元素上下文的一个属性。

这样ui.qml中的根元素rec就可以将StringHelper视为其子元素。

 

 

5. QML WorkerScript Element

The WorkerScript element enables the use of threads in QML

 

source : url

Signals : onMessage

Methods : sendMessage

 

Detailed Description

Use WorkerScript to run operations in a new thread. This is useful for running operations in the background so that the main GUI thread is not blocked.

Messages can be passed between the new thread and the parent thread using sendMessage() and the onMessage() handler.

 

 

6.

property color buttonColor: "lightblue"

自定义的属性用property type name:值 语句来声明。

 

 

7. QML之可视化元素

1、Item

所有的QML可视化元素都继承自Item。Item没有可视化界面,但是它定义了可视化元素的所有属性。

//记住要为Item指定width和height不然运行看不到窗体 

 

 

 

 

8. 下面是介绍QML元素。元素作为QML编程的最基本单元。主要分为以下几大类:

Basic Visual Items(基础可视单元)

Basic Interaction Items(基础交互单元)

States(状态)

Animation and Transitions(动画和过渡)

Working with Data(数据操作)

Views(视图)

Positioners(位置)

Utility(通用)

Transforms(变换)

Effects(效果)

 

 

9. Qml中的定时器是Timer对象

     Timer {

         interval: 100; running: true; repeat: true;

         onTriggered: clock.timeChanged()

     }

clock.timeChanged调用的是Id为clock的组件中的json函数 timeChanged()

 

你可能感兴趣的:(thread,timer,ListView,basic,animation,exe)