qt - 如何在 QtextEdit 中绘制形状

标签 qt drawing 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);
}

关于qt - 如何在 QtextEdit 中绘制形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28796735/

相关文章:

c++ - Qt:每x个字符插入一个字符

ruby - 使用 Ruby 的 Gosu 绘图程序中 CPU 使用率过高

c# - 获取具有由鼠标位置定义的坐标的线

c++ - qt中如何改变Qmenubar项的悬停效果颜色?

c++ - OpenCV findContours 堆栈溢出

qt - 如何在 QTextEdit 中将光标形状设置为 '>'?

c++ - 我如何使用 QTextBlock?

c++ - 如何改变QTextEdit的位置

qt - 在 Qt 中,应用程序未在设备上重新启动

c# - 调整图形大小以适合 PictureBox