int main() { QGraphicsScene scene; // 添加文字 scene.addText("Hello QGraphicsView!"); // 添加矩形 QGraphicsRectItem *rect = scene.addRect(100, 100, 200, 150); rect->setBrush(QBrush(Qt::blue)); // 添加线条 scene.addLine(0, 0, 400, 400, QPen(Qt::red, 3)); QGraphicsView vie...
QGraphicsRectItem *item=new QGraphicsRectItem(-50,-25,100,50);item->setFlags(QGraphicsItem::ItemIsMovable| QGraphicsItem::ItemIsSelectable| QGraphicsItem::ItemIsFocusable);item->setBrush(QBrush(Qt::yellow));item->setPos(-50+(qrand() % 100),-50+(qrand() % 100));item->setZValue(++laye...
: QGraphicsRectItem(x, y, width, height, parent) { __ 自定义绘制逻辑 } void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override { __ 调用基类的paint函数 QGraphicsRectItem::paint(painter, option, widget); __ 添加自定义绘制代码 painter->s...
QGraphicsRectItem *item =newQGraphicsRectItem(100,100,50,50);//矩形项 scene->addItem(item);//项添加到场景 QGraphicsView *view =newQGraphicsView;//视图 view->setScene(scene);//视图关联场景 view->show();//显示视图 最简单的基于这个图形视图框架的程序:分别新建了一个场景,一个图形项和一个视图,...
new QGraphicsRectItem(150,150,50,50);// 项添加到场景 scene->addItem(item);// 视图 QGraphicsView *view = new QGraphicsView;// 视图关联场景 view->setScene(scene);// 显⽰视图 view->show();return app.exec();} 运⾏如下:三、图像项QGraphicsItem QGraphicsItem类是所有图形项的基类。
QGraphicsItem是图元基类。QGraphics View框架提供了几种标准的图元,如矩形(QGraphicsRectItem、椭圆(QGraphicsEllipseItem)和文本图元(QGraphicsTextItem)等。用户可以继承QgraphicItem实现符合自己需要的图元。 QGraphicsItem具有以下功能: 处理鼠标按下、移动、释放、双击、悬停、滚轮和右键菜单事件 ...
QGraphicsRectItem:提供了一个矩形项 QGraphicsEllipseItem:提供了一个椭圆项 QGraphicsPathItem:提供了一个路径项 QGraphicsPolygonItem:提供了一个多边形项 QGraphicsSvgItem :提供了svg格式加载项 以椭圆为例 self.item1 = QGraphicsEllipseItem(0,0,10,100) # 创建像素图元 10是长轴 100是短轴 两个参数相同时为圆...
我创建了一个QGraphicsRectItem并设置了ItemIsMovable属性。我使用sceneBoundingBox().normalize.center()计算矩形的中心。如果我在移动后绘制该点,它将位于正确的位置。我已经尝试了setOriginTransform和使用QTransform方法。它们给我的结果都是一样的。我是不是把场景的坐标系和旋转坐标系搞混了?在迁移之后,这种情况...
项是场景中图形项的基类。视图提供了一些标准的、用于典型形状的项,如矩形(QGraphicsRectItem),椭圆(QGraphicsEllipseItem),文本(QGraphicsTextItem)等,项支持以下特性: 鼠标按、移动、释放、双击事件,鼠标悬停事件,滚轮事件,弹出菜单事件; 键盘输入焦点,键盘事件; ...
有QGraphicsEllipseItem,QGraphicsLineItem,QGraphicsPathItem,QGraphicsPixmapItem,QGraphicsPolygonItem,QGraphicsRectItem,QGraphicsSimpleTextItem,QGraphicsTextItem一共8种。在地图的绘制中QGraphicsLineItem可绘制道路,河流。QGraphicsPathItem可以绘制一些曲线。图2-6QGraphicsLineItem图2-7QGraphicsPathItemQGraphicsPixmapItem可以把一些通用的...