Если файл небольшой и память позволяет, то можно вместо построчного чтения использовать readAll(), а затем setPlainText. Либо просто вместо ui->textEdit->insertPlainText(line + "\n"); делать ui->textEdit->append(line).
Да и вообще не за чем создавать переменную line каждый раз в цикле (это очень прожорливо)
QString line;
while (!in.atEnd()) { //читаем, пока не достигнем конца
line = in.readLine();
ui->textEdit->insertPlainText(line + "\n");
}