利用号Qt中example 示例,如使用editor?
qt creater起始界面去搜。自动打开一个helper,code也有。
改Qt中字体??
工具-选项-文本编辑器-consolas
在编辑器最前面显示第几行?codeEditor, 同时syntax Highlighter Example也有。
找到名字之后直接网页搜就有网页版了
setViewportMargins(lineNumberAreaWidth(), 0, 0, 0);
求一下当前是第几行?
blockCount是个什么??段落号查找?
lineNumber才是行号。
法1. QTextCursor tc = fileedit_window->textCursor(); //当前光标
QTextLayout *lay = tc.block().layout();
int curpos = tc.position() - tc.block().position();//当前光标在本BLOCK内的相对位置
int textline = lay->lineForTextPosition(curpos).lineNumber() + tc.block().firstLineNumber();
法2. int textline = fileedit_window->document()->lineCount();
int CodeEditor::lineNumberAreaWidth()
{
int digits = 1;
int max = qMax(1, blockCount());
while (max >= 10) {
max /= 10;
++digits;
}
int space = 3 + fontMetrics().horizontalAdvance(QLatin1Char('9')) * digits;
return space;
}
QTextCursor tc = fileedit_window->textCursor(); //当前光标
int rowNum = tc.blockNumber() + 1;//获取光标所在行的行号
Notice that in a plain text edit each line will consist of one QTextBlock
实现单个词的高亮显示?
QPalette palette = textEdit->palette();
palette.setColor(QPalette::Highlight,palette.color(QPalette::Active,QPalette::Highlight));
textEdit->setPalette(palette);
某一行?
QList<QTextEdit::ExtraSelection> extraSelections;//提供一种方式显示选择的文本
extraSelections = ui->plainTextEdit->extraSelections();//获取之前高亮的设置
QTextEdit::ExtraSelection selection;
selection.format.setBackground(color);
selection.format.setProperty(QTextFormat::FullWidthSelection, true);
selection.cursor = ui->plainTextEdit->textCursor();
selection.cursor.movePosition(QTextCursor::Up);//光标移动到某一行。此处移动到上一行,上一行将高亮。
extraSelections.append(selection);
ui->plainTextEdit->setExtraSelections(extraSelections);//设置高亮
ui->plainTextEdit->setExtraSelections(extraSelections);//设置高亮
QList<QTextEdit::extraSelections