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

时间:2013-05-31 21:28:21

标签: c++ qt qt4 cursor qwidget

Fedora 17 x64上的Qt 4.8

在我的QWidget::mouseMoveEvent中,我正在尝试检查光标当前是设置为Qt::SizeVerCursor还是Qt::SizeHorCursor,而是通过调用{{{}返回QCursor由于编译错误,1}}无法与QWidget::cursor()Qt::SizeVerCursor进行比较。看起来这是因为Qt::SizeHorCursorQt::SizeVerCursor实际上都是Qt::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

1 个答案:

答案 0 :(得分:5)

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