graphics view绘图程序实例
时间: 2023-07-28 19:03:53 浏览: 122
Graphics View 是 Qt 框架中用于绘图的一个模块。下面是一个使用 Graphics View 绘制简单图形的示例程序。
首先,需要在程序中引入 QGraphicsView、QGraphicsScene 和 QGraphicsItem 这三个类的头文件。
然后,在程序的主函数或其他适当的位置,创建一个 QGraphicsView 实例,并设置场景的大小和背景颜色。例如:
QGraphicsView *view = new QGraphicsView();
view->setSceneRect(0, 0, 800, 600);
view->setBackgroundBrush(Qt::white);
接着,创建一个 QGraphicsScene 实例,并设置场景的大小和背景颜色。例如:
QGraphicsScene *scene = new QGraphicsScene();
scene->setSceneRect(0, 0, 800, 600);
scene->setBackgroundBrush(Qt::white);
然后,创建一个 QGraphicsItem 的子类,并实现它的绘制函数 paint()。在 paint() 函数中,使用 QPainter 绘制所需的图形,如圆形、矩形等。例如:
class MyGraphicsItem : public QGraphicsItem
{
public:
MyGraphicsItem() {}
QRectF boundingRect() const override {
return QRectF(-50, -50, 100, 100);
}
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override {
painter->setBrush(Qt::blue);
painter->drawEllipse(-50, -50, 100, 100);
}
};
最后,将创建的 MyGraphicsItem 添加到场景中,并将场景设置给 QGraphicsView 实例。例如:
MyGraphicsItem *item = new MyGraphicsItem();
scene->addItem(item);
view->setScene(scene);
view->show();
整个程序的执行过程是,创建一个 QGraphicsView 实例,并设置它的场景为一个 QGraphicsScene 实例。然后,在 QGraphicsScene 中创建一个 QGraphicsItem 的子类,实现绘制函数 paint()。最后,将这个 QGraphicsItem 添加到 QGraphicsScene 中,从而在 QGraphicsView 中显示出来。
这个示例只是 Graphics View 的基础用法,真实的 Graphics View 应用程序会更加复杂,可以通过修改 MyGraphicsItem 的 paint() 函数来实现更多的绘图操作。
阅读全文