修复点击显示光谱功能的问题:打开一副影像后,点击显示光谱出现十字架,然后移除图层后,再打开图层就会出现问题
This commit is contained in:
@ -103,6 +103,50 @@ bool Mapcavas::HasImage()
|
||||
}
|
||||
}
|
||||
|
||||
void Mapcavas::updateCrosshair(double sceneX, double sceneY)
|
||||
{
|
||||
QPen pen(Qt::red, 2.0);
|
||||
pen.setCosmetic(true); // constant screen-width regardless of zoom
|
||||
|
||||
if (!m_hLine)
|
||||
{
|
||||
m_hLine = m_qtGraphicsScene->addLine(0, 0, 0, 0, pen);
|
||||
m_hLine->setZValue(1e9);
|
||||
}
|
||||
if (!m_vLine)
|
||||
{
|
||||
m_vLine = m_qtGraphicsScene->addLine(0, 0, 0, 0, pen);
|
||||
m_vLine->setZValue(1e9);
|
||||
}
|
||||
|
||||
m_hLine->setPen(pen);
|
||||
m_vLine->setPen(pen);
|
||||
|
||||
m_hLine->setLine(sceneX - m_CrosshairHalfLen, sceneY,
|
||||
sceneX + m_CrosshairHalfLen, sceneY);
|
||||
m_vLine->setLine(sceneX, sceneY - m_CrosshairHalfLen,
|
||||
sceneX, sceneY + m_CrosshairHalfLen);
|
||||
}
|
||||
|
||||
void Mapcavas::removeCrosshair()
|
||||
{
|
||||
if (m_hLine)
|
||||
{
|
||||
if (m_hLine->scene())
|
||||
m_hLine->scene()->removeItem(m_hLine);
|
||||
delete m_hLine;
|
||||
m_hLine = nullptr;
|
||||
}
|
||||
if (m_vLine)
|
||||
{
|
||||
if (m_vLine->scene())
|
||||
m_vLine->scene()->removeItem(m_vLine);
|
||||
delete m_vLine;
|
||||
m_vLine = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Mapcavas::wheelEvent(QWheelEvent *event)
|
||||
{
|
||||
// Always let the tool have a chance first
|
||||
|
||||
Reference in New Issue
Block a user