Remove border around point label.

--HG--
branch : develop
This commit is contained in:
dismine 2014-07-25 16:37:27 +03:00
parent 41a8a46b2f
commit 1f9c1e623e
2 changed files with 31 additions and 11 deletions

View File

@ -29,6 +29,7 @@
#include "vgraphicssimpletextitem.h" #include "vgraphicssimpletextitem.h"
#include <QFont> #include <QFont>
#include <QBrush> #include <QBrush>
#include <QStyle>
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
/** /**
@ -63,6 +64,19 @@ VGraphicsSimpleTextItem::VGraphicsSimpleTextItem( const QString & text, QGraphic
this->setAcceptHoverEvents(true); this->setAcceptHoverEvents(true);
} }
//---------------------------------------------------------------------------------------------------------------------
void VGraphicsSimpleTextItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
/* From question on StackOverflow
* https://stackoverflow.com/questions/10985028/how-to-remove-border-around-qgraphicsitem-when-selected
*
* There's no interface to disable the drawing of the selection border for the build-in QGraphicsItems. The only way
* I can think of is derive your own items from the build-in ones and override the paint() function:*/
QStyleOptionGraphicsItem myOption(*option);
myOption.state &= ~QStyle::State_Selected;
QGraphicsSimpleTextItem::paint(painter, &myOption, widget);
}
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
/** /**
* @brief itemChange handle item change. * @brief itemChange handle item change.

View File

@ -39,15 +39,11 @@ class VGraphicsSimpleTextItem : public QObject, public QGraphicsSimpleTextItem
{ {
Q_OBJECT Q_OBJECT
public: public:
VGraphicsSimpleTextItem(QGraphicsItem *parent = nullptr);
VGraphicsSimpleTextItem( const QString & text, QGraphicsItem *parent = nullptr );
VGraphicsSimpleTextItem(QGraphicsItem * parent = nullptr); qint32 FontSize()const;
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
VGraphicsSimpleTextItem( const QString & text, QGraphicsItem * parent = nullptr );
/**
* @brief FontSize return label font size.
* @return font size.
*/
qint32 FontSize()const {return fontSize;}
signals: signals:
/** /**
* @brief NameChangePosition emit when label change position. * @brief NameChangePosition emit when label change position.
@ -61,12 +57,22 @@ signals:
void ShowContextMenu(QGraphicsSceneContextMenuEvent *event); void ShowContextMenu(QGraphicsSceneContextMenuEvent *event);
protected: protected:
QVariant itemChange ( GraphicsItemChange change, const QVariant &value ); QVariant itemChange ( GraphicsItemChange change, const QVariant &value );
virtual void hoverMoveEvent ( QGraphicsSceneHoverEvent * event ); virtual void hoverMoveEvent ( QGraphicsSceneHoverEvent *event );
virtual void hoverLeaveEvent ( QGraphicsSceneHoverEvent * event ); virtual void hoverLeaveEvent ( QGraphicsSceneHoverEvent *event );
virtual void contextMenuEvent ( QGraphicsSceneContextMenuEvent * event ); virtual void contextMenuEvent ( QGraphicsSceneContextMenuEvent *event );
private: private:
/** @brief fontSize label font size. */ /** @brief fontSize label font size. */
qint32 fontSize; qint32 fontSize;
}; };
//---------------------------------------------------------------------------------------------------------------------
/**
* @brief FontSize return label font size.
* @return font size.
*/
inline qint32 VGraphicsSimpleTextItem::FontSize() const
{
return fontSize;
}
#endif // VGRAPHICSSIMPLETEXTITEM_H #endif // VGRAPHICSSIMPLETEXTITEM_H