代码之家  ›  专栏  ›  技术社区  ›  Mahtar

QGraphicsView-如何禁用鼠标和键盘滚动

  •  4
  • Mahtar  · 技术社区  · 17 年前

    我如何禁用它,这样即使pixmap比窗口大,它也不会被键盘或鼠标移动,除非我使用我的事件进行移动?

    3 回复  |  直到 17 年前
        1
  •  6
  •   Mahtar    17 年前

    我相信最简单的解决方案是将QGraphicsView的FocusPolicy设置为NoFocus,然后在主窗口中处理所有关键事件。

    ui->graphicsView->setFocusPolicy( Qt::NoFocus );
    
        2
  •  4
  •   sra Jon    14 年前

    QGraphicsView::setSceneRect() 设置允许视图可视化的区域。

    如果设置视图的 sceneRect()

        3
  •  0
  •   Caleb Huitt - cjhuitt    17 年前

    我不知道是否有更简单的方法,但比较简单的方法是创建一个继承QGraphicsView类并覆盖鼠标和按键事件的类。

    更困难的方法是在小部件上安装事件过滤器。

    在我看来,最难的暴力解决方案是通过某种信号检测变化,并将其恢复到原来的状态。