qt quick 2 使用控制台打印

qt quick 2 printing with console

我不知道如何在 qt quick 应用程序中使用 console.log 进行打印。

我有这个 .pro 文件:

TEMPLATE = app

QT += qml quick
CONFIG += c++11
CONFIG += console

SOURCES += main.cpp

RESOURCES += qml.qrc

# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =

# Default rules for deployment.
include(deployment.pri)

这是main.cpp:

#include <QGuiApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[]) {
    QGuiApplication app(argc, argv);

    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));

    return app.exec();
}

这是main.qml:

import QtQuick 2.5
import QtQuick.Window 2.0

Window {
   visible: true
   Text {
      anchors.centerIn: parent
      text: "Hello World"
   }
   Component.onCompleted: console.log("foo")
}

为什么不打印 "foo"?

解决了它是由于 Fedora 在 /etc/xdg/QtProject/qtlogging.ini 中有 *.debug=false 并且阻止消息被打印造成的。要 "solve" 这足以创建具有以下内容的文件 ~/.config/QtProject/qtlogging.ini:

[Rules]
default=true