qgraphicsview相关内容

我不明白为什么我要获取QPainter::Begin:小部件绘制只能作为一个PaintEvent的结果开始

我一直在研究关于这个错误的其他StackOverflow问题(以及Web上的其他问题),但我不明白这些答案与我的代码有什么关系。因此,我希望要么是一个对我有意义的固定例子,要么是对事件如何以及何时发生的更好的解释。 下面的代码旨在计算运行它的屏幕的大小,调整大小,并在占据大部分可用屏幕空间的中心绘制一个圆圈。它试图做更多的事情,但我已经把它精简了--我希望足够了。现在它只是试着画一个圆。 ..
发布时间:2022-08-15 09:55:55 Python

在QGraphicsView的ScrollHandDrag模式下,如何停止QGraphicsItems在场景中的移动?

我在场景中有多个QGraphicsItem,分布在场景的不同部分。在应用中,有不同的模式,其中一种模式是用户可以滚动场景(手掌拖动模式)。 若要在场景I上滚动,请将QGraphicsView的dragMode设置为ScrollHandDrag。 但问题是,当用户尝试通过在任何QGraphicsItem上拖动(MousePress和MouseMove)来滚动场景时,它会移动QGraphicsI ..
发布时间:2022-03-30 14:32:59 其他开发

应用QGraphicsItem::ItemIgnoresTransformations后保持相对子位置

我有一个QGraphicsTextItem,它是QGraphicsItem的父项。我希望QGraphicsTextItem始终位于QGraphicsItem的正上方,但我也希望文本在比例因子小于1时保持相同的大小,即文本保持其比例因子1的大小,即使父图形项的比例更小。我发现,当比例因子小于1时,将QGraphicsItem::ItemIgnoresTransformations标志设置为真确实可以 ..
发布时间:2022-03-30 10:58:10 其他开发

如何渲染 QGraphicsScene 的一部分并将其保存为图像文件 PyQt5

假设我有来自加载图像的 QGraphicsPixmapItem,它被添加到 QGraphicsScene.假设我将在场景中添加几个 QGraphicsPolygonItem.如何将场景的一部分渲染为全尺寸图像,同时使用不在空白区域中的多边形和保存该区域作为图像文件. 类 ImageView(QtWidgets.QGraphicsView):def __init__(自我,父母):超级(Image ..
发布时间:2022-01-12 22:39:07 Python

在 QGraphicsScene 上接受 drop

我正在尝试为 QGraphicsScene 实现拖放操作.以下是我重载的事件: void TargetScene::dragEnterEvent(QGraphicsSceneDragDropEvent *event) {bool acceptDrag = false;const QMimeData* mime = event->mimeData();//有图片吗?if (mime->hasIma ..
发布时间:2022-01-11 21:23:39 其他开发

使用 Qt 的缩放功能

当前实现,向视图中心缩放,因此当我们缩放时,左上角的项目或当前鼠标指针不可见. 我想要基于当前鼠标指针的缩放功能,以便当前鼠标指针上的项目向视图中心缩放. Zoom base on 视区中心代码 void csGuiView::wheelEvent(QWheelEvent *event){if ((event->modifiers()&Qt::ControlModifier) == ..
发布时间:2021-12-09 17:18:22 C/C++开发

为什么我不能放大 QSizeGrip 添加到 QGraphicScene 的小部件?

我通过 QGraphicsProxyWidget 添加了一个小部件到图形场景 QGraphicScene.为了移动它,我将 QGraphicsRectitem 设置为它的父级.使用 sizegrip 调整小部件的大小. 第一次创建对象时,我可以将其放大到某个尺寸.第二次我可以把它放大得比第一次小.第三次小于第二次以此类推. 在我看来,它的行为是随机的.为什么会发生这种情况? 代码 ..
发布时间:2021-12-09 17:17:56 C/C++开发

如何在 QGraphicsView 中平移图像

我目前能够将我的图像加载到 Graphics 场景中,然后再次加载到 QGraphicsViewer 中. 我可以通过检测 QEvent::Wheel 然后调用 graphicsViews 的 scale() 函数来实现缩放功能. 但是,我似乎无法弄清楚如何使平移功能正常工作.我基本上想检测鼠标何时点击了图像,然后随着鼠标向左、向右、向上或向下移动图像. 截至目前,我基本上有一个 ..
发布时间:2021-12-09 17:01:21 C/C++开发

QGraphicsScene中的圆弧

我想在 QGraphicsScene 中实现 arc.我希望在点击三个点时我的弧应该被绘制,这样在点击三个点时就会绘制弧,其中第一个点将是弧的起点,第二个将是弧上的任何点,第三个将是弧的终点.我曾尝试研究 drawArc 函数,但对 startangle 和 spanangle 感到困惑.我无法动态设置它们.请给我建议一些方法来继续. 我尝试将解决方案嵌入到我的项目中,但出现以下错误: 错 ..
发布时间:2021-12-09 16:56:10 C/C++开发

Qt中的GIF动画

我使用了 QGraphicsView、QGraphicsScene 类来在这样的小部件中显示图片: m_Scene->addPixmap(QPixmap(fileName));m_View->setScene(m_Scene); 如何在同一场景中显示 .gif 动画? 解决方案 我不将 GIF 动画与 QGraphicsView 或 QGraphicsScene 一起使用,我只在 中使 ..
发布时间:2021-12-09 16:28:48 C/C++开发

QGraphicsView 使用鼠标滚轮在鼠标位置下放大和缩小

我有一个应用程序,屏幕中间有一个 QGraphicsView 窗口.我希望能够使用鼠标滚轮滚动放大和缩小. 目前我重新实现了 QGraphicsView 并覆盖了鼠标滚动功能,这样它就不会滚动图像(就像默认情况下一样). void MyQGraphicsView::wheelEvent(QWheelEvent *event){如果(事件-> delta()> 0){发射 mouseWhee ..
发布时间:2021-12-09 16:25:41 C/C++开发

使用 QGraphicsScene 和 QGraphicsView 在 Qt 中开始基于 Tile 的游戏

我将开始在 Qt 中编写基于 2D tile 的游戏,并了解用于显示和处理大量 2D 对象的 QGraphicsScene 和 QGraphicsView 类. 我的问题是,使用 QGraphicsScene 创建具有大量图块的世界是否可行?我可以逐个图块一次添加整个世界,还是应该尝试实施一些东西来限制该区域?我读过 QGraphicsScene 可以处理“数千个项目",但 2D 瓷砖地图很 ..
发布时间:2021-11-24 21:52:24 C#

根据缩放级别渲染 QGraphicsScene

是否有(快速?)方法可以根据视图缩放级别仅呈现 GraphicsScene 项目的子集?我有一个包含许多网格线的大场景,我想隐藏/显示其中的一些,当缩放更改以避免“网格完全填充场景"效果时. 使用 GraphicsScene 的 addLine 方法绘制网格线. 附言也许,最简单的方法是在其他地方绘制网格(在视图中或类似的地方),因为从逻辑上讲它们不是我场景的一部分,它们只是指导线?但 ..
发布时间:2021-10-05 19:21:15 其他开发

如何对 qt 图形视图小部件/项目进行单元测试

我有一个广泛使用 Qt4 中的 graphicsview 架构的应用程序,我想开始自动测试 ui 组件,但是我找不到与什么我应该测试相关的任何资源或者如何测试基于 qgraphicsview/qgraphicswidget 的类? 解决方案 我在尝试对 QGraphicsView 进行单元测试时遇到了问题.我最大的问题是 QTest::mousePressEvent(view, Qt:: ..
发布时间:2021-09-14 19:00:35 其他开发

如何使用 QGraphicsView 的 translate() 函数?

这里我有一个场景和一个关联的视图,然后我在场景坐标中有一个位置.我想用这个位置设置视口的中心.我该怎么做?我尝试使用 translate() 函数但它不起作用? view->translate(10, 10); 视口应该随着 delta x 10 和 delta y 10 移动,但它不起作用! 解决方案 需要将图形视图的变换锚点模式设置为NoAnchor. setTransforma ..
发布时间:2021-09-09 19:22:16 其他开发

QGraphicsScene 中的文本

如何在QGraphicsScene的某个坐标上写文字?我试图这样做,但没有成功.文字有黑色边框,但在字母内部是白色的,我不能让它变成黑色. QPainterPath 路径;QFont字体;font.setPixelSize(50);path.addText(100, 50, font, tr("Hello World!!!"));路径.setFillRule();m_graphScen->add ..
发布时间:2021-09-06 19:07:33 其他开发

QGraphicsView:禁用自动滚动

我想要一个从不自动滚动的 QGraphicsView. 类似:基本上,我的问题与 http://developer.qt.nokia 相同.com/forums/viewthread/2220 ,但该线程没有收到答复. 到目前为止我尝试过的: 在 showEvent() 和 resizeEvent() 中,我执行 ui->graphicsView->fitInView(...), ..
发布时间:2021-07-17 19:07:55 其他开发

QGraphicsScene 在 QGraphicsView 中奇怪地缩放

我正在使用 QGraphicsView 和 QGraphicsScene 来创建一个 Tic Tac Toe 克隆.我向我的场景中添加了一些 QGraphicsLineItem 并覆盖包含视图的小部件的 resizeEvent 方法,以便在调整窗口大小时,缩放视图及其内容适当地.这工作正常,除了我第一次运行程序: 一旦我按任意量调整窗口大小,场景就会正确缩放: 代码如下: ma​ ..
发布时间:2021-07-16 18:40:30 C/C++开发