我希望包含一个文件句柄和流作为我的类的私有成员。
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";
}这不是很有用,因为我不能在类的主函数中稍后写入这个流。这两件事在我看来是等同的,但显然不是。
我还没有做好这个实现的准备。如果有人有一个更好的方法来做这件事(比如使用静态的或者其他的),那也是很棒的。
发布于 2014-06-25 16:12:44
我让它通过刷新outputFileStream来处理指针。
发布于 2020-05-12 19:13:38
我还想知道如何在QTextStream中使用指针。我是这样做的:
outputFileStream->setString(new QString("Your string"));https://stackoverflow.com/questions/24412846
复制相似问题