Из ссылки на класс QTextStream (эта строка немного скрыта):
Примечание: В Windows все символы '\ n' пишутся как '\ r \ n', если устройство или строка QTextStream открываются с использованием флага QIODevice :: Text.
, где '\ n' - конец строки UNIX, а '\ r \ n' - конец строки Windows (CR / LF).
Удалите инициализацию QTextStream в начале вашего метода и измените выражение if на следующее:
if (!logfName.isEmpty())
{
logFile.setFileName(logfName);
logFile.open(QIODevice::WriteOnly);
QTextStream logOut(&logFile, QIODevice::Text);
logOut<<ui.statusReport->toPlainText();
logFile.close();
}
Также обратите внимание, как я изменил условие if. По умолчанию для logfName установлено значение "", я не уверен, сработает ли сравнение с NULL. Вам лучше использовать функцию QString :: isEmpty ()