Qt 调用QgraphicsTextItem的复制粘贴
如何为QgraphicsTextItem调用剪切、复制和粘贴插槽。虽然文本编辑器有用于剪切、复制和粘贴的默认窗口,但我不知道如何调用它们 我有一个从QgraphicsTextItem继承的类。此类的用途是在GraphicsView中添加文本。现在我想要它的剪切、粘贴和复制功能。我怎么能这样呢 drawText.hQt 调用QgraphicsTextItem的复制粘贴,qt,Qt,如何为QgraphicsTextItem调用剪切、复制和粘贴插槽。虽然文本编辑器有用于剪切、复制和粘贴的默认窗口,但我不知道如何调用它们 我有一个从QgraphicsTextItem继承的类。此类的用途是在GraphicsView中添加文本。现在我想要它的剪切、粘贴和复制功能。我怎么能这样呢 drawText.h #include <QGraphicsTextItem> #include <QPen> QT_BEGIN_NAMESPACE class QFocusEve
#include <QGraphicsTextItem>
#include <QPen>
QT_BEGIN_NAMESPACE
class QFocusEvent;
class QGraphicsItem;
class QGraphicsScene;
class QGraphicsSceneMouseEvent;
QT_END_NAMESPACE
class mText : public QGraphicsTextItem
{
Q_OBJECT
public:
mText( int, QGraphicsItem *parent=0 );
enum { Type = UserType + 5 };
int type() const;
int id;
signals:
void lostFocus(mText *item);
void selectedChange(QGraphicsItem *item);
protected:
QVariant itemChange(GraphicsItemChange change, const QVariant &value);
void focusOutEvent(QFocusEvent *event);
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
};
文本编辑器有默认窗口-你在这里指的是什么文本编辑器?也用代码编辑了文章。
#include "mtext.h"
mText::mText( int i, QGraphicsItem *parent)
: QGraphicsTextItem(parent )
{
//assigns id
id = i;
}
int mText::type() const
{
// Enable the use of qgraphicsitem_cast with text item.
return Type;
}
QVariant mText::itemChange(GraphicsItemChange change,
const QVariant &value)
{
if (change == QGraphicsItem::ItemSelectedHasChanged)
emit selectedChange(this);
return value;
}
void mText::focusOutEvent(QFocusEvent *event)
{
setTextInteractionFlags(Qt::NoTextInteraction);
emit lostFocus(this);
QGraphicsTextItem::focusOutEvent(event);
}
void mText::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
{
if (textInteractionFlags() == Qt::NoTextInteraction)
setTextInteractionFlags(Qt::TextEditorInteraction);
QGraphicsTextItem::mouseDoubleClickEvent(event);
}