7得票1回答
Qt:如何正确地将撤销框架与QGraphicsScene集成

我正在编写一个基于QGraphicsScene画布的Qt应用程序,并在其上移动形状。我正在尝试集成撤销-重做功能。对于大多数函数,如创建和删除形状,在QGraphicsScene本身上实现它们是相当简单的。但是,我希望元素可以移动,并且该移动可以撤销。目前,我正在使用场景上的橡皮筋拖动模式以及...

10得票1回答
为什么在销毁QGraphicsItem之前从场景中移除它会更有效率?

根据QGraphicsItem析构函数的文档,“在销毁对象之前,从QGraphicsScene中移除对象会更加高效。”为什么这样做更高效呢?我无法想象这可能产生何种影响。如果这确实有影响,那么QGraphicsItem析构函数难道不应该调用:if (scene() != NULL) s...

13得票3回答
QGraphicsScene,项目坐标会影响性能吗?

使用下面的代码片段,我创建了一个包含 100,000 个矩形的场景。 性能良好,视图响应没有延迟。QGraphicsScene * scene = new QGraphicsScene; for (int y = -50000; y < 50000; y++) { scene-&g...

7得票1回答
强制QGraphicsItem使用z值并忽略父子关系

我在使用QGraphicsItem类时遇到了问题。 有一个base_parent,base_part,part_1和part_2。base_parent是base_part的父项,part_1和part_2是base_part的子项。我想做的是以一种方式设置这些项的Z值,使得part_1和p...

17得票1回答
如何在鼠标点击时在QGraphicsScene上绘制一个点?

我有以下代码来设置一个QGraphicsScene。我希望在场景上单击并在我单击的位置绘制一个点。我该如何实现?这是我的当前代码:MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::...

23得票2回答
在QGraphicsScene类中跟踪鼠标移动

我创建了一个子类继承了QGraphicsScene,并添加了mouseMoveEvent方法来处理鼠标移动事件。在GraphicsView上方创建了一条标尺,让它能够跟踪鼠标的移动。在QGraphicsScene::mousemoveEvent方法中,显式地调用了标尺窗口的mouseMoveE...

11得票2回答
C++中替代static和global的方案有哪些?

我有一个类实例需要被其他类访问。 每次通过构造函数传递这个实例会很繁琐。 我试图避免全局变量,因为人们倾向于反对这种做法。 我想将这个实例声明为一个类的静态成员,然后包含该类以便访问该实例,但这也不起作用。 错误:调用 'Foo' 类的私有构造函数 进一步说明问题,在QGraphic...

14得票3回答
防止QGraphicsItem移动到QGraphicsScene之外

我有一个场景,其固定尺寸为(0;0)到(481;270):scene->setSceneRect(0, 0, 481, 270); 在其中,我有一个自定义的GraphicsItem,我可以通过标志ItemisMovable移动它,但我希望它留在场景中;我的意思是我不想让它的坐标超出(0;...

15得票2回答
在QGraphics场景中的QImage

我对Qt还比较陌生。 我在将 QImage 插入场景时遇到了一些麻烦。 请问有人能告诉我如何将 QImage 添加到 QGraphicsScene 中吗?

17得票2回答
如何优化QGraphicsView的性能?

我正在使用 Qt 5.6.2 开发 CAD 应用程序,需要在廉价计算机上运行,同时需要处理同一场景中的数千个项目。因此,我不得不进行大量实验以获得最佳性能。 我决定创建这篇文章来帮助其他人和自己,同时也希望其他人能贡献更多的优化技巧。 我的文章仍然在进展中,如果我发现更好的技术(或者说了些...