#include <QtGui>
{
public:
{
setAcceptHoverEvents(true);
}
{
if (option
->state.
testFlag(QStyle::State_MouseOver)) else
setBrush
(QColor(230,
230,
230));
}
};
{
public:
{
setAcceptHoverEvents(true);
}
{
painter
->setBrush
(QColor(230,
230,
230));
if (option
->state.
testFlag(QStyle::State_MouseOver)) painter
->setBrush
(QColor(0,
230,
230));
painter->drawRect(option->rect);
}
};
{
public:
{
setAcceptHoverEvents(true);
}
{
painter
->setBrush
(QColor(230,
230,
230));
if (option
->state.
testFlag(QStyle::State_MouseOver)) painter
->setBrush
(QColor(0,
230,
230));
painter->drawRect(option->rect);
}
};
int main(int argc, char **argv)
{
myItem it;
it.setRect(0,0,30,30);
scene.addItem(&it);
myItem2 it2;
it2.setPlainText("test!");
scene.addItem(&it2);
it2.setPos(0,40);
myItem3 it3;
it3.setText("test2!");
scene.addItem(&it3);
it3.setPos(0,80);
view.show();
return app.exec();
}
#include <QtGui>
class myItem : public QGraphicsRectItem
{
public:
myItem(QGraphicsItem *parent = 0) : QGraphicsRectItem(parent)
{
setAcceptHoverEvents(true);
}
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0)
{
if (option->state.testFlag(QStyle::State_MouseOver))
setBrush(QColor(0,230,230));
else
setBrush(QColor(230,230,230));
QGraphicsRectItem::paint(painter, option, widget);
}
};
class myItem2 : public QGraphicsTextItem
{
public:
myItem2(QGraphicsItem *parent = 0) : QGraphicsTextItem(parent)
{
setAcceptHoverEvents(true);
}
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0)
{
painter->setBrush(QColor(230,230,230));
if (option->state.testFlag(QStyle::State_MouseOver))
painter->setBrush(QColor(0,230,230));
painter->drawRect(option->rect);
QGraphicsTextItem::paint(painter, option, widget);
}
};
class myItem3 : public QGraphicsSimpleTextItem
{
public:
myItem3(QGraphicsItem *parent = 0) : QGraphicsSimpleTextItem(parent)
{
setAcceptHoverEvents(true);
}
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0)
{
painter->setBrush(QColor(230,230,230));
if (option->state.testFlag(QStyle::State_MouseOver))
painter->setBrush(QColor(0,230,230));
painter->drawRect(option->rect);
QGraphicsSimpleTextItem::paint(painter, option, widget);
}
};
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QGraphicsScene scene;
myItem it;
it.setRect(0,0,30,30);
scene.addItem(&it);
myItem2 it2;
it2.setPlainText("test!");
scene.addItem(&it2);
it2.setPos(0,40);
myItem3 it3;
it3.setText("test2!");
scene.addItem(&it3);
it3.setPos(0,80);
QGraphicsView view(&scene);
view.show();
return app.exec();
}
To copy to clipboard, switch view to plain text mode
Bookmarks