Fedora 17 x64上的Qt 4.8
在我的QWidget::mouseMoveEvent
中,我正在尝试检查光标当前是设置为Qt::SizeVerCursor
还是Qt::SizeHorCursor
,而是通过调用{{{}返回QCursor
由于编译错误,1}}无法与QWidget::cursor()
或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
?
答案 0 :(得分:5)
Imho cursor()。shape()应该可以工作。