QString New Line
QString New Line
我想在我的QString
中添加一个新行。我尝试使用n
,但是收到"预期表达式"错误。我的代码示例可以在下面找到:
if (ui->lineEdit_Company_Name->text().isEmpty())
ErrorLog = ErrorLog + "Company Name is empty", rn;
if(ui->lineEdit_Company_Owner->text().isEmpty())
ErrorLog = ErrorLog + "Company Owner is empty", rn;
使用 std::string
、QString
等时,需要使用运算符+、push_back、追加或其他一些方式进行追加。逗号 (',') 不是串联字符。因此,写下这个:
if (ui->lineEdit_Company_Name->text().isEmpty())
ErrorLog = ErrorLog + "Company Name is emptyn";
if(ui->lineEdit_Company_Owner->text().isEmpty())
ErrorLog = ErrorLog + "Company Owner is emptyn";
另请注意,如果需要,在这种情况下,n
足以确定文件、GUI 控件等的平台相关行端。Qt将通过常规的标准手段,API,或者如果需要,它将自行解决。
公平地说,您可以进一步简化它:
if (ui->lineEdit_Company_Name->text().isEmpty())
ErrorLog += "Company Name is emptyn";
// or ErrorLog.append("Company Name is emptyn");
// or ErrorLog.push_back("Company Name is emptyn");
if(ui->lineEdit_Company_Owner->text().isEmpty())
ErrorLog += "Company Owner is emptyn";
// or ErrorLog.append("Company Owner is emptyn");
// or ErrorLog.push_back("Company Owner is emptyn");
实际上,当您使用常量字符串时,值得考虑使用 QStringLiteral,因为如果编译器支持相应的 C++11 功能,它会构建字符串编译时。
我同意 lpapp 的观点,您应该简单地将'n'
合并到要附加的字符串文字中。所以:
if (ui->lineEdit_Company_Name->text().isEmpty()){
ErrorLog += "Company Name is emptyn";
}
if(ui->lineEdit_Company_Owner->text().isEmpty()){
ErrorLog += "Company Owner is emptyn";
}
但我还想提一下,不仅仅是Qt,而且一般C++翻译,'n'
为您的平台提供正确的行尾。有关详细信息,请参阅此链接:http://en.wikipedia.org/wiki/Newline#In_programming_languages
您也可以
按如下方式使用endl
:
ErrorLog += "Company Name is empty" + endl;
相关文章:
- 如果"new int"返回"int*",那么为什么"new int[n]"不返回"int**"?
- 有没有一种方法可以使用placement new将堆叠对象分配给分配的内存
- 重载运算符new[]的行为取决于析构函数
- 过载'operator new'如何导致无限循环?
- 创建具有 new in 函数和"this is nullptr"异常的对象
- Codelite C++ new project
- 在类c++中使用new声明数组
- g++用户定义的动态链接库上的全局new和delete运算符
- 如果整个应用程序是虚拟映射的,为什么 new 会进行系统调用?
- 在将 new 与指针一起使用时,创建数组的指定长度
- 体系结构x86_64的未定义符号:std:terminate(),typeinfo,运算符delete[],运算符new
- 为什么我的全局 new() 覆盖被绕过了?
- 以某种方式告诉编译器"Do not process line of code"
- 声明C++数组(带或不带 "new" 关键字)
- 在C++中,如果我可以直接将整数分配给指针而不使用"new",为什么要使用"new"?
- 是否可以使用 new 指定具有宏常量的动态分配数组的元素?
- 需要帮助按 "enter or new line" 以允许用户返回主菜单
- 逐字读取文本文件时如何忽略"end of line"或"new line"字符?
- QString New Line
- 在 CSV 中阅读时"New Line"与价值相关联?