【问题标题】:how to use QT graphic view for drawing如何使用QT图形视图进行绘图
【发布时间】:2010-07-21 09:51:25
【问题描述】:

我正在尝试使用 QT 的图形视图来绘制线条 可以在场景中绘制多个对象,但是否可以在 Qt 场景中进行(实时线)绘制,以及如何绘制?
示例代码将不胜感激
在此先感谢

【问题讨论】:

    标签: qt qt4 pyqt


    【解决方案1】:

    我正在创建一种“框架”来做到这一点。有两种方法:

    1. 处理鼠标消息,创建QGraphicsLineItem对象,添加到Scene并在创建过程中修改。
    2. 派生QGraphicsScene,创建QGraphicsLineItem但不添加到场景,drawForeground时绘制,创建完成后添加到场景中。

    因为QGraphicsScene默认会在BSP树中索引对象,频繁更换item会影响性能,所以在创建过程中使用第二种方法可以获得更高的性能,但代码工作量更大。

    【讨论】:

      【解决方案2】:

      1) 创建 GraphicsView 和 Scene

      m_graphScen = new QGraphicsScene;
      m_graphScen->setSceneRect(0,0,790,290);
      
      m_graphView = new QGraphicsView;
      m_graphView->setFixedSize(800, 300);
      m_graphView->setScene(m_graphScen);
      

      2) 创建一个插槽,通过处理鼠标事件来执行以下操作:

      m_graphScen->addLine(0, 250, 700, 250, QPen(QBrush(Qt::black),1));
      m_graphView->show();
      

      如果您需要书写或绘制文字,请参阅here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-02-13
        • 2019-11-18
        • 1970-01-01
        • 1970-01-01
        • 2023-03-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多