我目前正在使用 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/