paintEvent无法绘制
使用QPlainTextEdit和QTextEdit重载paintEvent重新绘制时,出现了一下的报错
QWidget::paintEngine: Should no longer be called
QPainter::begin: Paint device returned engine == 0, type: 1
通过Google和百度,发现一堆都是别人抄的,通过观看别人开源的代码和官方的文档,试验后发现在paintEvent中只需要
//添加这句话
QPainter painter(viewport());
painter.begin(this);
painter.setPen(Qt::red);
painter.drawRect(10, 50, 200, 500);
painter.end();
viewport即物理设备绘图区,window是指逻辑绘图区,可以通过painter.setViewport()或者painter.setWindow()来设置相应的区域绘制。