到目前为止,我使用qDebug().noquote()
输出所有内容。这很简单,因为它只需要一个简单的#import <QDebug>
现在我需要输出所有内容到stdout
,但我不知道如何轻松地做到这一点。这就是我的教导方式:
QTextStream cout(stdout, QIODevice::WriteOnly);
然而,创建一个新对象比一个简单的#import <QDebug>
更麻烦。在qt中处理stdout
的好/最麻烦的方法是什么?
答案 0 :(得分:2)
最好的方法是你提到的那个。您不必创建新的本地变量:
app/inc/
如果源文本不是Latin-1编码,那么在将其传递给流操作符之前,您需要转换为mounted() {
this.$nextTick(function () {
var self = this;
axios.get('/api/user/isLoggedIn').then(function(response) {
var isLoggedIn = response.data.data;
self.loggedIn = isLoggedIn;
});
});
}
:
QTextStream(stdout) << "Hello world!" << endl;
答案 1 :(得分:2)
qDebug()
, qInfo()
, etc. are all piped to a default message handler. But you can easily install your own that writes the debug strings to a different stream, file, or anything. All you need to do is define a message handler function and install it using qInstallMessageHandler()
总而言之,这是一个完整的例子:
#include <QDebug>
void myMessageOutput(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
QTextStream cout(stdout, QIODevice::WriteOnly);
cout << msg << endl;
}
int main(int argc, char *argv[])
{
qInstallMessageHandler(myMessageOutput);
qDebug().noquote() << "Hello world!";
}