使用QT在控制台中的特定位置写入

时间:2013-12-04 09:49:01

标签: qt console

我正在寻找一种让我的控制台输出更具可读性的方法。我想在控制台中放置一些信息,但是使用qDebug我找不到移动光标的方法或在控制台中的X / Y上放置文本。

我希望有人可以帮助我。

我正在使用QT 5.1(cpp)

1 个答案:

答案 0 :(得分:1)

尝试安装自己的MessageHandler:

的main.cpp

void messageOutput()
{
    QByteArray localMsg = msg.toLocal8Bit();
    switch (type) {
    case QtDebugMsg:
        fprintf(stderr, "%s \n", localMsg.constData());
        break;
    case QtWarningMsg:
        fprintf(stderr, "Warning: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, context.function);
        break;
    case QtCriticalMsg:
        fprintf(stderr, "Critical: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, context.function);
        break;
    case QtFatalMsg:
        fprintf(stderr, "Fatal: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, context.function);
        abort();
}


int main()
{
    qInstallMessageHandler(messageOutput);
    ...
}

然后按照您想要的方式对其进行格式化,您可以按照自己想要的方式个性化fprint()