QGraphicsTextItem
에서 상속 한 클래스를 만들었습니다. 이 클래스의 객체는 이동 가능해야하며 MouseButton이 작동 중일 때 신호를 보내야합니다.QGraphicsTextItem 상속입니다. 이상한 행동
MyTextItem* label = new MyTextItem(NULL, "QwertyuiopAsdfghjkl");
label->setPos(p);
label->setFlag(QGraphicsItem::ItemIsMovable, true);
그리고 모두 OK입니다 :
class MyTextItem: public QObject, public QGraphicsTextItem
{
Q_OBJECT
public:
MyTextItem(QObject* Object, QString str1): QGraphicsTextItem(str1), mRef(Object){}
virtual void mouseReleaseEvent (QGraphicsSceneMouseEvent* event);
QObject* mRef;
signals:
void sendSignal(int x, int y);
은 그 때 나는 개체를 만듭니다. 그러나, 나는 추가 할 때 :
QFont f;
f.setBold(false);
f.setItalic(false);
f.setPixelSize(16);
f.setFamily("Arial");
f.setLetterSpacing(QFont::AbsoluteSpacing, 0.1);
label->setFont(f);
//
scene()->addItem(label);
내 시험 (글꼴 더 큰이지만, 객체의 폭이 변경없이) 오프의 cutted되었다! 왜?. MyTextItem
대신 QGraphicsTextItem
을 사용하면 모두 문제가 없습니다.
글꼴을 늘린 후 항목 크기를 업데이트하는 방법은 무엇입니까?
감사합니다.
내가 QObject에서 상속을 삭제하면 - 모두 올바르게 표시되지만 .. 신호가 없으면 신호를 보낼 수 없습니다. – Ilya