C++ 如何在标头中设置QTextStream?

C++ 如何在标头中设置QTextStream?,c++,qt,C++,Qt,如何在标头中设置新的QTextStream,如下所示 MainClass{ private: QTextStream out; } 然后,在初始化中设置文件,因此 QTextStream out(&file),我希望类似的东西 out.setFile(&file),但是QTextStream中没有.setFile我发现QFile是一个QIODevice,所以QTextStream::setDevice(&QFile)可以工作 MainClass{ public: MainCla

如何在标头中设置新的QTextStream,如下所示

MainClass{
private:
    QTextStream out;
}
然后,在初始化中设置文件,因此

QTextStream out(&file)
,我希望类似的东西


out.setFile(&file)
,但是QTextStream中没有.setFile

我发现QFile是一个QIODevice,所以QTextStream::setDevice(&QFile)可以工作

MainClass{
public:
    MainClass( QFile& file) : out( &file) {}
private:
    QTextStream out;
}
因此,我现在有

MainClass{
private:
    QTextStream out;
    QFile file;
    void writetoBuffer();
}

void MainClass::writetoBuffer(){
    file.setFileName("bingbong.txt");
    out.setDevice(&file);
}

我发现QFile是一个QIODevice,所以QTextStream::setDevice(&QFile)可以工作

因此,我现在有

MainClass{
private:
    QTextStream out;
    QFile file;
    void writetoBuffer();
}

void MainClass::writetoBuffer(){
    file.setFileName("bingbong.txt");
    out.setDevice(&file);
}

我喜欢这个,因为它信息丰富,但是,它不像我刚才发现的那样直接。我喜欢这个,因为它信息丰富,但是,它不像我刚才发现的那样直接。&QFile看起来不对。。。此外,为了简洁起见,如果没有函数、方法等,就不能在类外调用方法。为了让它运行起来,我增加了很多形式,我认为这确实有助于那些需要上下文的人。为了将来的简洁起见,请不要写错误的答案。谢谢你的更新。编辑说:“请考虑那些寻求上下文的人”答案不是错误的,它只是直接回答了这个问题,从而排除了C++程序的常见手续。使用SET设备(和文件)来指定QTrSt流的文件对我来说不起作用(QT 5。x)和qfile看起来是错误的…此外,为了简洁起见,如果没有函数、方法等,就不能在类外调用方法。为了让它运行起来,我增加了很多形式,我认为这确实有助于那些需要上下文的人。为了将来的简洁起见,请不要写错误的答案。谢谢你的更新。编辑说:“请考虑那些寻求上下文的人”答案不是错误的,它只是直接回答了这个问题,从而排除了C++程序的常见手续。使用StTeice(和文件)指定QTraveScript文件对我来说不起作用(QT 5。x)