QPainter painter(this); painter.begin(this); painter.setPen(QPen(Qt::red,10)); painter.drawLine(0, 0, 500, 150); painter.end();画不出来线
时间: 2024-01-26 09:02:56 浏览: 129
painter_qt画图选择_painter撤回_QT_qtpainter_painter怎么撤回_
5星 · 资源好评率100%
如果在QWidget的绘图事件中使用上述代码,但是没有画出线,很有可能是因为没有将QWidget的背景填充为白色或者没有设置QWidget的大小。
在QWidget的绘图事件中,首先应该设置QWidget的背景色为白色,可以通过`QPainter::fillRect()`方法来实现:
```
QPainter painter(this);
painter.fillRect(this->rect(), Qt::white); // 将背景填充为白色
painter.setPen(QPen(Qt::red,10));
painter.drawLine(0, 0, 500, 150);
```
然后,还需要设置QWidget的大小,可以通过`QWidget::resize()`方法来设置:
```
this->resize(500, 150); // 设置QWidget的大小为500x150
```
这样,再次执行绘图事件时,就能够正确地画出一条红色直线了。
阅读全文