为什么在Qt C++关闭主窗口后打印消息
Why messages printed after closing main window in Qt C++?
使用此代码
#include "mainwindow.h"
#include <QApplication>
#include <iostream>
#include <QDir>
#include <QTextStream>
int main(int argc, char *argv[]){
QApplication a(argc, argv);
QTextStream out(stdout);
out << QDir::currentPath();
std::cout << "Why is that?";
MainWindow mainWindow;
mainWindow.show();
return a.exec();
}
两条消息都是在关闭我的应用程序主窗口后打印的,为什么会这样?我尝试调试,调试器认为他完成了这一行,但我没有看到任何消息。
extern std::ostream cout;
是缓冲的,因此它可以选择何时将其缓冲区刷新到stdout
。在您的情况下,它会在您的程序终止时执行此操作。
您可以使用 std::flush 告诉std::ostream
刷新,如下所示:
std::cout << "Why is that?" << std::flush;
相关文章:
- 为什么如果我从键盘输入EOF克里昂不要在运行窗口打印程序的输出?
- 在窗口中加速打印f和cout
- 创建位图图像未在窗口上打印
- 打印窗口发送消息WM_PAINT或WM_PRINT
- 在带有转义反斜杠的窗口上打印加速路径
- PDCurses 窗口在某些区域不打印字母
- 窗口后台处理程序究竟如何确定它将发送到打印处理器的数据类型?
- 打印到Visual Studio中的输出窗口
- 不打印窗口的名称
- 将键盘上输入的文本打印到 GLUT 窗口
- 在 dlib 窗口中打印文本
- 我可以使用我打印到控制台窗口的内容作为输入吗
- 为什么在Qt C++关闭主窗口后打印消息
- 如何使用qt5(QtQuick 2.1)及更高版本在窗口上打印度数符号
- 河内塔算法无需打印任何内容到终端窗口
- 将f打印到控制台窗口和文件
- 如何在主窗口上打印来自其他类的消息(QString)
- 在Visual C++IDE的输出窗口上打印输出
- 如何扫描外来字符(如 ä、ß、ő、ű)并将它们打印到控制台窗口?
- 在窗口上的float中额外的0打印