如何在QtextEdit中绘制形状
How to drawing a shapes in QtextEdit
我目前正在使用 Qtextedit 开发文本编辑器,我想在编辑器中绘制三角形、正方形和椭圆形等形状以丰富文档。
所以我想知道是否可以使用 Qtextedit 并且仅使用 Qtextedit 来做到这一点。
实际上我是 Qt 的新手所以任何想法任何教程任何链接都将不胜感激
提前致谢,对不起我的英语。
此致。
当然有可能,如果我没理解错的话。您所需要的只是实现您自己的从 QTextEdit
派生的 TextEdit 并重新实现 paintEvent()
例如:
QMyTextEdit.h
class QMyTextEdit : public QTextEdit
{
public:
QMyTextEdit(QWidget *parent = 0);
protected:
void paintEvent(QPaintEvent * event);
};
QMyTextEdit.cpp
QMyTextEdit::QMyTextEdit(QWidget *parent) :
QTextEdit(parent)
{
}
void QMyTextEdit::paintEvent(QPaintEvent *event)
{
QTextEdit::paintEvent(event);
QPainter painter(viewport());
QPen pen;
pen.setColor(Qt::blue);
pen.setWidth(2);
painter.setPen(pen);
painter.setRenderHint(QPainter::Antialiasing, true);
QPoint center = viewport()->rect().center();
painter.drawRect(center.x() - 10,center.y() - 10,20,20);
}
我目前正在使用 Qtextedit 开发文本编辑器,我想在编辑器中绘制三角形、正方形和椭圆形等形状以丰富文档。 所以我想知道是否可以使用 Qtextedit 并且仅使用 Qtextedit 来做到这一点。 实际上我是 Qt 的新手所以任何想法任何教程任何链接都将不胜感激 提前致谢,对不起我的英语。
此致。
当然有可能,如果我没理解错的话。您所需要的只是实现您自己的从 QTextEdit
派生的 TextEdit 并重新实现 paintEvent()
例如:
QMyTextEdit.h
class QMyTextEdit : public QTextEdit
{
public:
QMyTextEdit(QWidget *parent = 0);
protected:
void paintEvent(QPaintEvent * event);
};
QMyTextEdit.cpp
QMyTextEdit::QMyTextEdit(QWidget *parent) :
QTextEdit(parent)
{
}
void QMyTextEdit::paintEvent(QPaintEvent *event)
{
QTextEdit::paintEvent(event);
QPainter painter(viewport());
QPen pen;
pen.setColor(Qt::blue);
pen.setWidth(2);
painter.setPen(pen);
painter.setRenderHint(QPainter::Antialiasing, true);
QPoint center = viewport()->rect().center();
painter.drawRect(center.x() - 10,center.y() - 10,20,20);
}