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") // successconsole.assert(1 == 2, "assert 1 == 2") // failureconsole.assert(1 < 2, "assert 1 < 2") // successconsole.log("assert ends")}console.time():console.time()与console.timeEnd()一起使用,输出这两个函数之间的程序执行的时间,单位是毫秒,函数的参数比较特殊(要前后对应),用法如下:function console_time() {console.time("wholeFunction") // 函数参数wholeFunctionconsole.time("firstPart") // 函数参数firstPartfor (index = 0; index < 10000; index++) { // do something}console.timeEnd("firstPart") // 函数参数firstPartconsole.time("secondPart") // 函数参数secondPartfor (index = 0; index < 10000; index++) { // do something}console.timeEnd("secondPart") // 函数参数secondPartfor (index = 0; index < 10000; index++) { // do something}console.timeEnd("wholeFunction") // 函数参数wholeFunction}console.trace():输出代码执行的行号、函数名称、文件路径等堆栈信息,最多10条,例如main.qml代码如下:import QtQuick 2.2Item {width: 360height: 360function console_trace() {console.trace() // 调用console.trace()}MouseArea {anchors.fill: parentonClicked: console_trace()}}点击鼠标时,输出如下log:console_trace (qrc:///main.qml:8)onClicked (qrc:///main.qml:13)console.count():输出某个代码块执行的次数,例如main.qml代码如下:import QtQuick 2.2Item {width: 360height: 360function console_count() {console.count("console_count() called") // 调用console.count()}MouseArea {anchors.fill: parentonClicked: {console_count()console_count()}}}点击鼠标时,输出如下log:console_count() called: 1console_count() called: 2console.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")}

少一点预设的期待,那份对人的关怀会更自在

Qt Qml的console api有哪些

相关文章:

你感兴趣的文章:

标签云: