我想包含一个文件句柄和流作为我的班级的私人成员。
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";
}
这不是很有用,因为我以后不能在类的main函数中写入此流。这两个似乎与我相当,但显然不是。
我没有参与此实施。如果有人建议采用更好的方法(即使用静电或其他东西),那也很棒。
答案 0 :(得分:1)
我通过刷新outputFileStream来使用指针。
答案 1 :(得分:0)
我还想知道如何在QTextStream中使用指针。 这是我的操作方式:
outputFileStream->setString(new QString("Your string"));