将用户在Qt4 UI中输入的数据写入文件

Writing the user entered data, in a Qt4 UI,to a file

本文关键字:数据 文件 输入 用户 Qt4 UI      更新时间:2023-10-16

我使用QtSDK创建了一个UI,现在我想将用户在UI中输入的数据获取到一个静态文件中。我该怎么做呢?例如,我尝试:

ofstream myfile ("C:\testcase.txt"); 
if (myfile.is_open()) {
    myfile << "ui->lineEdit->text()";
} else {
    cout << "Unable to open file";
}  

,它会打印双引号内的行,就像它在文件中一样,而不是打印lineEdit中输入的文本,如果我写

myfile << ui -> lineEdit -> text();

没有双引号,代码显示如下错误:

mainwindow.cpp:198: error: no match for 'operator<<' in 'myfile << QLineEdit::text() const()'

这应该怎么做?

使用双引号实际上提供了一个字符串。不计算引号内的表达式。

你应该使用QTextStream来写入一个文件。

QFile file("myfile.txt");
if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
    return;
QTextStream filestream(&file);
filestream << ui->lineEdit->text();

Qt文档是伟大的,所以检查它更多的细节

你可能不能直接从<<QStringstd::ostream。也许您需要ui->lineEdit->text()()之类的东西,或者将其转换为某些标准类型,否则请查找文档。