void QSanButton::setEnabled(bool enabled) { bool changed = (enabled != isEnabled()); if (!changed) return; if (enabled) { setState(S_STATE_UP); _m_mouseEntered = false; } QGraphicsObject::setEnabled(enabled); if (!enabled) setState(S_STATE_DISABLED); update(); emit enable_changed(); }
QVariant Pixmap::itemChange(GraphicsItemChange change, const QVariant &value){ if(change == ItemSelectedHasChanged){ if(value.toBool()){ QGraphicsColorizeEffect *effect = new QGraphicsColorizeEffect(this); effect->setColor(QColor(0xCC, 0x00, 0x00)); setGraphicsEffect(effect); }else setGraphicsEffect(NULL); emit selected_changed(); }else if(change == ItemEnabledHasChanged){ emit enable_changed(); } return QGraphicsObject::itemChange(change, value); }