Qt写入QTextStream指针



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

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=======nn";
}

创建文件,但不写入任何内容。然而,当我使用指针的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=======nn";
}

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

我不确定这个实现。如果有人有一个更好的方法来做到这一点(例如使用静态或其他东西),这也是伟大的。

我通过刷新outputFileStream让它与指针一起工作。

我也想知道如何使用QTextStream指针。我是这样做的:

outputFileStream->setString(new QString("Your string"));

相关内容

  • 没有找到相关文章