测试
对于ui->plainTextEdit中的文本
将会按以下进行测试操作
qDebug() << "Widget::on_pushButton_clicked - text:" << ui->plainTextEdit->toPlainText();
QStringList list = ui->plainTextEdit->toPlainText().split('\n');
qDebug() << "Widget::on_pushButton_clicked - lsit:" << list;
ui->plainTextEdit_2->setPlainText(list.join('\n'));
qDebug() << "Widget::on_pushButton_clicked - \ntext:";
运行后debug输出:
Widget::on_pushButton_clicked - text: "This is\\n a plain text.\nLast line\\ text.\n"
Widget::on_pushButton_clicked - lsit: QList("This is\\n a plain text.", "Last line\\ text.", "")
Widget::on_pushButton_clicked -
text:
ui->plainTextEdit_2显示:
结论
- 编辑器中输入的字符串"\n",并不会被Qt解释为换行符.
- QString中的字符串"\n",在向QString::split('\n')和向编辑器的转换中,全部都会被解释为换行符,除非前置使用了转义方法"\\n".
- qDebug()会解释直接表示的字符串(const char *)中"\n"为换行符, 但不会解释QString变量中的中的字符串"\n"为换行符.