我刚接触Qt,貌似qgraphicsitem默认的多选操作是按下Ctrl键。但是能不能禁用这个功能或重新加载此功能呢?
我刚接触Qt,貌似qgraphicsitem默认的多选操作是按下Ctrl键。但是能不能禁用这个功能或重新加载此功能呢?
这由项目的标志控制。要禁用特定项目的选择,请执行以下操作
item->setFlag(QGraphicsItem::ItemIsSelectable, false);
禁用多选的简单方法是:
QGraphicsItem
.Overload the protected mousePressEvent
function and disable ControlModifier
:
protected:
void YourOwnQGraphicsItem::mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent) Q_DECL_OVERRIDE
{
if(mouseEvent->modifiers() & Qt::ControlModifier)
{
mouseEvent->ignore();
}
else
{
QGraphicsItem::mousePressEvent(mouseEvent);
//Do what you want...
}
}