Qt C ++在文件中写入数据,意外输出

时间:2012-02-22 05:16:15

标签: c++ qt

我有一项将文件保存到计算机的任务。所以这是我的问题,当我写入文件时,它写入十六进制值..我不知道我的代码有什么问题。这是:

void MainWindow::on_actionSave_triggered()
{
    QString filename = QFileDialog::getSaveFileName(
            this,
            tr("Save Document"),
            QDir::currentPath(),
            tr("Documents (*.txt)") );
    QFile f( filename );
    f.open( QIODevice::WriteOnly | QIODevice::Text );
    QTextStream out(&f);
    out << ui->textEdit->document();

}

2 个答案:

答案 0 :(得分:5)

QTextEdit的文档方法返回QTextDocument,我想你想用toPlainText方法代替。

答案 1 :(得分:1)

QTextEdit::document()将返回QTextDocument*,这将是十六进制值(地址)。这就是你在文件中添加的内容。

要从QTextEdit获取内容,请使用QString QTextEdit::toPlainText ()

HTH ..