如何在Qt中检查当前光标形状



Qt 4.8 on Fedora 17 x64

在我的QWidget::mouseMoveEvent中,我试图检查游标当前是否设置为Qt::SizeVerCursorQt::SizeHorCursor,但由于编译错误,调用QWidget::cursor()返回的QCursor不能与Qt::SizeVerCursorQt::SizeHorCursor进行比较。看起来这是因为Qt::SizeVerCursorQt::SizeHorCursor实际上都是Qt::CursorShape而不是QCursor

这段代码编译失败:

void MyGraphicsView::mouseMoveEvent( QMouseEvent *event )
{
    if( ( cursor() == Qt::SizeHorCursor ) || ( cursor() == Qt::SizeVerCursor ) )
    {
        qDebugGreen() << "Cursor is a size cursor!";
    }
    QGraphicsView::mouseMoveEvent( event );
}

下面是编译错误:

error: no match for ‘operator==’ in ‘QWidget::cursor() const() == (Qt::CursorShape)6u’

如何检查当前光标是Qt::SizeVerCursor还是Qt::SizeHorCursor ?

Imho cursor().shape()应该可以工作

相关内容

  • 没有找到相关文章

最新更新