【发布时间】:2013-05-27 19:20:31
【问题描述】:
Fedora 17 x64 上的 Qt 4.8
在我的QWidget::mouseMoveEvent 中,我试图检查光标当前是否设置为Qt::SizeVerCursor 或Qt::SizeHorCursor,但调用QWidget::cursor() 返回的QCursor 不能与@987654326 中的任何一个进行比较@ 或 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?
【问题讨论】: