问题描述
- 图中方框里的代码能简写吗?感觉重复了。
-
QTextCharFormat myFormat; myFormat.setFontWeight(QFont::Bold); myFormat.setForeground(Qt::green); QString pattern="\bchar\b"; QRegExp expression(pattern); int index=text.indexOf(expression); while(index>=0) { int length=expression.matchedLength(); setFormat(index,length,myFormat); index=text.indexOf(expression,index+length); } QString patt="\bdouble\b"; QRegExp express(patt); int inde=text.indexOf(express); while(inde>=0) { int lengt=express.matchedLength(); setFormat(inde,lengt,myFormat); inde=text.indexOf(express,inde+lengt); }
解决方案
写入 for 循环两次,第一次 "bcharb";第二次 "bdoubleb";
解决方案二:
定义宏(c语言是 #define xxx)然后把你的那几行代码放到那一样后面就行了。程序内用 xxx 表示这几行代码。
解决方案三:
写入for循环可以。但是时间复杂度增大了。空间复杂度却没有大的改善,这样子并不是很合理。
时间: 2024-12-17 05:05:38