首先放一张自己做的软件中的编辑器的效果图

中间红色的框就是放在Qt的tabwidget控件中的qsciscintilla编辑器
先从官网下载qsciscintilla源码,在qtcreater中编译,提取静态库和头文件,将库和Qsci中的头文件添加到自己的项目的pro配置文件中,具体编译方法可参考网上的帖子,这里不再赘述,可以运行之后再看下面的操作
1,一些常规设置,都是通过对应的函数来设置
//设置字体
QFont font("Courier", 10, QFont::Normal); ui->textEdit->setFont(font); ui->textEdit->setMarginsFont(font); QFontMetrics fontmetrics = QFontMetrics(font);
//设置左侧行号栏宽度等 ui->textEdit->setMarginWidth(0, fontmetrics.width("00000")); ui->textEdit->setMarginLineNumbers(0, true); ui->textEdit->setBraceMatching(QsciScintilla::SloppyBraceMatch); ui->textEdit->setTabWidth(4);
//设置括号等自动补全 ui->textEdit->setAutoIndent(true);
//初始设置c++解析器 ui->textEdit->setLexer(new QsciLexerCPP(this)); //设置自动补全 ui->textEdit->setCaretLineVisible(true);
//设置光标所在行背景色 ui->textEdit->setCaretLineBackgroundColor(Qt::lightGray); // ui->textEdit->setCursorPosition(2,2); //int markerDefine(MarkerSymbol sym, int markerNumber = -1); ui->textEdit->SendScintilla(QsciScintilla::SCI_SETCODEPAGE,QsciScintilla::SC_CP_UTF8);//设置编码为UTF-8
//得到光标位置
int line,col;
ui->textEdit->getCursorPosition(&line,&col);
2,通过SendScintilla的参数来设置
最新版编辑器(QScintilla_gpl-2.11.1)好多设置都是通过QsciScintillaBase类中的SendScintilla函数来进行设置的,这个函数有

本文介绍了如何在Qt中使用QScintilla编辑器,包括从官网下载源码、编译及添加到项目中。重点讲解了通过QsciScintillaBase的SendScintilla函数进行设置,如常规设置、下划线标记、删除标记、跳转、设置词法分析器等。此外,还提到了一些编辑操作函数和常用信号。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



