本文主要介绍了基于QPlainTextEdit实现的,带有行号的,支持高亮的编辑器实现,话不多说,先上效果图:

1.行号头文件:linenumberarea.h
#ifndef LINENUMBERAREA_H
#define LINENUMBERAREA_H
#include <QWidget>
#include <QSize>
#include "codeeditor.h"
class LineNumberArea : public QWidget
{
public:
LineNumberArea(CodeEditor *editor) : QWidget(editor), codeEditor(editor)
{}
QSize sizeHint() const override
{
return QSize(codeEditor->lineNumberAreaWidth(), 0);
}
protected:
void paintEvent(QPaintEvent *event) override
{
codeEditor->lineNumberAreaPaintEvent(event);
}
private:
CodeEditor *codeEditor;
};
#endif
订阅专栏 解锁全文
348

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



