Qt Qml的console api有哪些

在调试应用程序时,输出一些log是常用的一种方法。QML提供了log输出的多个api,常用的是console.log(),直接输出参数内容。
console.log():
与console.log()类似的还有console.debug()/info()/warn()/error(),用法如下
    function console_log() {
        console.log("this is console.log()")
        console.debug("this is console.debug()")
        console.info("this is console.info()")
        console.warn("this is console.warn()")
        console.error("this is console.error()")
    }

console.assert():
与C++的Assert类似,成功时无声无息而过,失败时会输出assert内容和相关的文件路径、行号、函数名称等信息,用法如下:
    function console_assert() {
        console.assert(1 == 1, "assert 1 == 1") // success
        console.assert(1 == 2, "assert 1 == 2") // failure
        console.assert(1 < 2, "assert 1 < 2") // success
        console.log("assert ends")
    }

console.time():
console.time()与console.timeEnd()一起使用,输出这两个函数之间的程序执行的时间,单位是毫秒,函数的参数比较特殊(要前后对应),用法如下:
    function console_time() {
        console.time("wholeFunction") // 函数参数wholeFunction
        console.time("firstPart") // 函数参数firstPart
        for (index = 0; index < 10000; index++) { // do something
        }
        console.timeEnd("firstPart") // 函数参数firstPart
        console.time("secondPart") // 函数参数secondPart
        for (index = 0; index < 10000; index++) { // do something
        }
        console.timeEnd("secondPart") // 函数参数secondPart
        for (index = 0; index < 10000; index++) { // do something
        }
        console.timeEnd("wholeFunction") // 函数参数wholeFunction
    }

console.trace():
输出代码执行的行号、函数名称、文件路径等堆栈信息,最多10条,例如main.qml代码如下:
import QtQuick 2.2

Item {
    width: 360
    height: 360

    function console_trace() {
        console.trace() // 调用console.trace()
    }

    MouseArea {
        anchors.fill: parent
        onClicked: console_trace()
    }
}
点击鼠标时,输出如下log:
console_trace (qrc:///main.qml:8)
onClicked (qrc:///main.qml:13)

console.count():
输出某个代码块执行的次数,例如main.qml代码如下:
import QtQuick 2.2

Item {
    width: 360
    height: 360

    function console_count() {
        console.count("console_count() called") // 调用console.count()
    }

    MouseArea {
        anchors.fill: parent
        onClicked: {
            console_count()
            console_count()
        }
    }
}
点击鼠标时,输出如下log:
console_count() called: 1
console_count() called: 2

console.profile():
QML和JavaScript代码性能分析,console.profile()与console.profileEnd()一起使用,用法如下:
function f() {
    console.profile()
    // Call some function that needs to be profiled.
    // Ensure that a client is attached before ending the profiling session.
    console.profileEnd()
}
另,通过QtCreator中的“Analyze->QML Profiler”可以进行QML性能分析。

console.exception():
输出异常信息,包括行号、函数名称、文件路径等,用法如下:
    function console_exception() {
        console.exception("this is an exception")
    }
时间: 2025-01-03 18:59:10

Qt Qml的console api有哪些的相关文章

Qt QML referenceexamples attached Demo hacking

/********************************************************************************************* * Qt QML referenceexamples attached Demo hacking * 说明: * 1. 本源代码来自Qt自带的Example,而本文也仅仅是代码解读,需要有点基础: * 2. 由于是Qt自带Demo,分为几个文件,文件存在联系,而本人把所有代码放在这个文件里,会照成阅读困难:

qt qml中PropertyAnimation的几种使用方法

qml文章 qt qml中PropertyAnimation的几种使用方法 动画应用场景有以下几种: 首先如果一个Rectangle.动画是要改变它的x和y值 1,Rectangle一旦被创建,就要移动到一个特定的位置 2,动画仅仅有在某一个特定的外部行为触发时候才会被触发,比如,鼠标单击某一个控件时候,产生动画.使目标移动到指定的位置 3,仅仅有在某一个特定的信号后才触发 4,做为一个独立的动画,尽管没有绑定rectangle的运动,可是能够在脚本中载入,開始和停止 5.仅仅有在状态改变时候才

Qt qml listview 下拉刷新上拉分页控件

Qt qml listview下拉刷新和上拉分页主要根据contentY来判断.但要加上顶部下拉指示器.滚动条,并封装成可简单调用的组件,着实花了我不少精力:) [先看效果]    [功能] 1 下拉刷新和上拉分页逻辑 2 /下拉刷新 3 /上拉更多 4 /滚动栏 5 /工具栏半拉显隐 6 Author: surfsky.cnblogs.com 7 Lisence: MIT 请保留此文档声明 8 History: 9 init. surfsky.cnblogs.com, 2015-01 10 a

QT QML Keys 处理注意事项

今天在学习 QT QML 最基本的东东,在下面的代码中响应按键处理无效.代码如下: 1 import QtQuick 2.2 2 import QtQuick.Window 2.1 3 import QtQuick.Controls 1.2 4 5 Window { 6 visible: true 7 width: 360 8 height: 360 9 10 MouseArea { 11 anchors.fill: parent 12 onClicked: { 13 Qt.quit(); 14

Qt qml中listview 列表视图控件(下拉刷新、上拉分页、滚动轴)

Qt qml中listview 列表视图控件(下拉刷新.上拉分页.滚动轴) 来源 https://www.cnblogs.com/surfsky/p/4352898.html 设置ListView涉及到将contentsY,即视图的可见部分的顶部,设置y为委托的值.另一个更改是interactive将视图设置为false.这样可以防止视图移动.用户不能再滚动列表或更改当前Item. contentY为列表上拉后列表左上角点距显示框左上解点的高度listView1.height为可显示部分的高度,

Firebug Console API

原文发布时间为:2011-06-06 -- 来源于本人的百度文章 [由搬家工具导入] Console API 当打开 firebug (也包括 Chrome 等浏览器的自带调试工具),window 下面会注册一个叫做 console 的对象,它提供多种方法向控制台输出信息,供开发人员调试使用。下面是这些方法的一个简单介绍,适时地运用它们,对于提高开发效率很有帮助。 console.log(object[, object, ...]) 使用频率最高的一条语句:向控制台输出一条消息。支持 C 语言

Qt官方教程翻译——Qt QML

Pull 解析器简介 Pull 解析器的运行方式与 SAX 解析器相似.它提供了类似的事件,如: 开始元素和结束元素事件,使用xmlPullParser.next() 可以进入下一个元素并触发相应事件.跟 SAX 不同的 是, Pull 解析器产生的事件是一个数字,而非方法,因此可以使用一个 switch 对事件进行处理.当元素开始解析时,调用 parser.nextText() 方法可以获取下一个 Text 类型节点的值. Pull解析器的源码及文档下载网址:http://www.xmlpul

Console API 与命令行

一.Console API 当打开 firebug (也包括 Chrome 等浏览器的自带调试工具),window 下面会注册一个叫做 console 的对象,它提供多种方法向控制台输出信息,供开发人员调试使用.下面是这些方法的一个简单介绍,适时地运用它们,对于提高开发效率很有帮助. (1) console.log(object[, object, ...]) 使用频率最高的一条语句:向控制台输出一条消息.支持 C 语言 printf 式的格式化输出.当然,也可以不使用格式化输出来达到同样的目的

qt qml 利用xmlhttprequest 调用有赞api

最近朋友在有赞商城上面开了一个店铺,因为有实体店,一般卖商品后送货上门,但是打票时候老是人工用world文档人工复制黏贴订单打印小票, 所以就找我帮忙做一个软件专门打印小票的,就研究起来调用有赞第三方api来着,本篇主要介绍如何用qml中的xmlhttprequest来实现http请求协议,就以调用有赞商城api的查询订单接口为例:kdt.trades.sold.get: function searchTrades(startDate,endDate){ tradesModel.clear();