gpt4 book ai didi

c++ - Qt 写入 QTextStream 指针

转载 作者:太空宇宙 更新时间:2023-11-04 11:31:53 25 4
gpt4 key购买 nike

我想包含一个文件句柄和流作为我类(class)的私有(private)成员。

class Window : public QMainWindow, private Ui::Window
{
Q_OBJECT

public:
.
.
.
private:
QFile * outputFile;
QTextStream * outputFileStream;
};

然后我想在构造函数中初始化句柄和流:

Window::Window(QWidget *parent)
: QMainWindow(parent)
{
setupUi(this);
outputFile = new QFile("/path/to/file.log");
outputFile->open(QIODevice::WriteOnly | QIODevice::Text);
outputFileStream = new QTextStream(outputFile);
*outputFileStream << "=======List=======\n\n";
}

这会创建文件,但不会写入任何内容。但是,当我为 QFile 使用指针而不是 QTextStream 时,它起作用了:

Window::Window(QWidget *parent)
: QMainWindow(parent)
{
setupUi(this);
outputFile = new QFile("/path/to/file.log");
outputFile->open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream outputFileStream(&outputFile);
outputFileStream << "=======List=======\n\n";
}

这不是很有用,因为我不能稍后在类的主函数中写入这个流。两者在我看来是等价的,但显然不是。

我对这个实现不满意。如果有人对执行此操作的更好方法(即使用 static 或其他东西)有建议,那也很好。

最佳答案

我通过刷新 outputFileStream 使其与指针一起工作。

关于c++ - Qt 写入 QTextStream 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24412846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com