2014-06-14 4 views
0

QGraphicsItemGroup을 길게 누르면 Qt에 컨텍스트 메뉴가 표시됩니다. 우선 이런 기본적인 일을하려고 있습니다 내 .H :QGraphicsItemGroup에 대한 상황에 맞는 메뉴 qt

class myclass: public QMainWindow 
{ 
    Q_OBJECT 
public: 
    myclass(QWidget *parent = 0); 
    ~myclass(); 

public slots: 
    void contextMenuEvent(QGraphicsSceneContextMenuEvent *event); 

private: 
    Ui::myclassClass ui; 

내 CPP :

void myclass::contextMenuEvent(QGraphicsSceneContextMenuEvent *event) 
{ 
    if (event->GraphicsSceneMouseDoubleClick) 
    { 
     qDebug() << "Test"; 
    } 
} 

그러나 다만이 간단한 것은 작동하지 않습니다. 내 코드에 어떤 문제가 있습니까?

+0

: C++ 11 override 키워드의 도움으로 컴파일시에이 문제를 찾을 수

그래서 당신은 교체 필요 'Q_OBJECT' 매크로를 잊었습니까? – Gluttton

+0

'do not work' - 무슨 뜻이야? – Gluttton

+0

@Glutton .h의 상단으로 편집했습니다. 작동하지 않습니다. 의미가 없기를 바랍니다. – Flavien317

답변

0

이 다르므로 현재 선언은 contextMenuEvent의 해당 메서드를 QMainWindow으로 대체하지 않습니다.

void contextMenuEvent(QGraphicsSceneContextMenuEvent *event); 

에 :

void contextMenuEvent(QContextMenuEvent *event); 

참고 :

void contextMenuEvent(QContextMenuEvent *event) override; 
+0

감사합니다. 하지만 이제는 왼쪽 클릭과 QGraphicsItemGroup에 길을 넣는 방법은 무엇입니까? – Flavien317

+0

당신은 오신 것을 환영합니다! 불행히도 나는 모른다. – Gluttton