在表单 QT 上的小部件内绘制
Draw inside widget on form QT
我是QT的新手,所以一开始我请理解。我的问题是我想在 QT 表单中包含的任何 wided 中绘制。因此,例如,我以这种方式覆盖了paintEvent
方法:
void MainWindow::paintEvent(QPaintEvent *e)
{
QPainter p;
p.begin(this);
p.setBrush(Qt::red);
p.drawRect(10, 10, 100, 100);
p.end();
}
一切都很好,红色矩形出现在表单上。然后我在表单上的某处添加了例如QWidget
,我想以这种方式在这个小部件中绘制:
void MainWindow::paintEvent(QPaintEvent *e)
{
QPainter p;
p.begin(ui->widget);
p.setBrush(Qt::red);
p.drawRect(10, 10, 100, 100);
p.end();
}
但是这个小部件中没有出现任何内容。这可能吗?或者也许还有其他方法可以实现我的目标?对我来说最重要的是,我希望在我的表格上有任何小的地方,它只是为了在里面画画而设计的。
非常感谢您的理解和任何帮助:)
不能从另一个小部件中绘制小部件。每个小部件在自己的paintEvent()
函数中绘制自己,并且只绘制自己。
有关更多详细信息,您应该查看:如何使用QPainter在QMainWindow中的一组小部件的特定小部件上绘制?
相关文章:
- 如何在QT中的自定义视频小工具t上绘制矩形
- 要在屏幕上绘制一些小瓷砖,我应该使用 QQuickItem 还是 QQuickPaintedItem?
- 低帧率,仅使用地图和小地图绘制 (SFML)
- 直接在QlistView上绘制小部件,并使用QStyleDitemdelegate :: Paint()
- 在 QT 中重新绘制小部件
- 在表单 QT 上的小部件内绘制
- 如何在子小部件而不是父窗口小部件上绘制一条线
- 如何从QMainWindow中的一组小部件上使用QPainter绘制特定的小部件
- Qt:在父小部件上有效地绘制小部件的正确方法
- 如何在父窗口小部件的右侧绘制
- C++ 创建小部件数组
- 小部件绘制中的剪切事件
- 绘制轮廓,同时删除较小的区域
- QPainter::begin:小部件绘制只能作为paintEvent的结果开始
- QT为什么不看委托绘制的自定义小部件呢?
- OpenGL在Qt中绘制小部件
- QDockWidget - QGlWidget -无效绘制时,小部件被拖出的dock
- 绘制小地图(游戏)
- Qt小部件在某些条件下无法重新绘制
- UI小部件按顺序绘制