Qt小部件应用程序输出到控制台

时间:2018-04-03 13:19:39

标签: c++ linux qt

我正在开发基于Ubuntu中的小部件的GUI应用程序。我想用printf将一些调试信息打印到控制台。在Qt中调试应用程序时是否可以显示控制台窗口?

2 个答案:

答案 0 :(得分:2)

不确定。只需从终端(如gdb myapp)在调试器中运行您的应用程序,或者指示您的IDE(无论它是什么)在终端中运行程序 - qtcreator,visual studio和其他人都支持此功能。

答案 1 :(得分:0)

是的,这很容易实现。由于您正在使用Qt应用程序,我将使用Qt调试模块; QDebug。要让控制台出现在GUI应用程序中,您需要编辑* .pro文件中的CONFIG参数,如下所示:

CONFIG += console

这将强制任何Qt应用程序也在它旁边生成一个控制台,即使以桌面快捷方式启动也是如此。最后,我不使用printf(..),而是使用qDebug()。它内置于Qt中,使用起来很简单。在您想要使用qDebug的文件中,只需添加:

#include <QDebug>

当您想要向控制台输出消息时,只需写下:

qDebug() << "This will output to the spawned console!";

,或者

qDebug() << QString("This will output to the spawned console!");

最后,使用qDebug方法允许您提供带有如下调试操作符的类:

class MyClass {
    public:
        MyClass(..);

        QDebug operator<< (QDebug d, const MyClass &myclass) {
            d << "This is what I want to output to the console!";
            return d;
        }

这将允许您制作比使用fprint(..)更干净的代码  在整个项目中,希望它有所帮助!