在Qt中,我们可以使用QGraphicsScene和QGraphicsRectItem类来画矩形并拖动,以下是详细的步骤:
(图片来源网络,侵删)1、创建一个QGraphicsScene对象,这是所有图形项的容器。
2、创建一个QGraphicsRectItem对象,这是我们要画的矩形,我们可以通过设置其位置和大小来定义它。
3、将QGraphicsRectItem添加到QGraphicsScene中。
4、创建一个QGraphicsView对象,这是我们的窗口,我们将在其中显示场景。
5、将QGraphicsScene设置为QGraphicsView的场景。
6、启用QGraphicsView的拖放功能。
7、显示QGraphicsView。
以下是相应的代码:
#include <QApplication> #include <QGraphicsScene> #include <QGraphicsRectItem> #include <QGraphicsView> int main(int argc, char *argv[]) { QApplication a(argc, argv); // 创建一个QGraphicsScene对象 QGraphicsScene scene; // 创建一个QGraphicsRectItem对象 QGraphicsRectItem *rect = new QGraphicsRectItem(); // 设置矩形的位置和大小 rect>setRect(0, 0, 100, 100); // 将矩形添加到场景中 scene.addItem(rect); // 创建一个QGraphicsView对象 QGraphicsView view(&scene); // 启用拖放功能 view.setDragMode(QGraphicsView::RubberBandDrag); // 显示视图 view.show(); return a.exec(); }
在这个代码中,我们首先创建了一个QApplication对象和一个QGraphicsScene对象,我们创建了一个QGraphicsRectItem对象,并设置了它的位置和大小,接着,我们将这个矩形添加到了场景中,我们创建了一个QGraphicsView对象,并将场景设置为它的场景,我们启用了视图的拖放功能,并显示了视图。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。