Qt 4.8 on Fedora 17 x64
在我的QWidget::mouseMoveEvent
中,我试图检查游标当前是否设置为Qt::SizeVerCursor
或Qt::SizeHorCursor
,但由于编译错误,调用QWidget::cursor()
返回的QCursor
不能与Qt::SizeVerCursor
或Qt::SizeHorCursor
进行比较。看起来这是因为Qt::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
还是Qt::SizeHorCursor
?
Imho cursor().shape()应该可以工作