2012-12-21 4 views
2

특정 텍스트와 함께 여러 QAction 객체를 추가 한 QMenu 객체가 있습니다. 런타임시 해당 QAction의 텍스트를 변경하고 싶다는 점을 제외하고는 모두 잘 작동합니다. QMenu API를 살펴본 결과, QMenu API를 가져올 수있는 방법을 찾지 못했습니다. 나는 또한 행동을 시도했다. (x)와 몇 가지 다른 것들. 이 작업을 수행하는 올바른 방법은 무엇입니까?QMenu 내부에있는 QAction의 텍스트 변경

답변

1

정말 어떻게 앱을 구조화 하느냐에 달려 있습니다. 경우에 따라 직접 액세스 할 수있는 QAction을 회원으로 저장했을 수 있습니다. 또는 QMenu을 저장하고 QAction의 데이터로 채우는 것일 수도 있습니다. 당신이 당신의 행동을 일단 어느 쪽이든, 당신은 단지에 setText(QString) 전화 :

// init 
menu = new QMenu(this); 
... 
menu->addAction("foo"); 

// later on 
QAction *action = menu->actions().at(0); // access just the first QAction 
action->setText("bar"); 

QMenu 또한 당신이 QPoint 위치에 따라 조치를 조회 할 수 있습니다. 다시 말하지만 실제로 어떤 동작을 변경할지 결정하는 방법에 따라 달라집니다.

+0

감사합니다. 방금 추가하고 수정 한 QAction에 대한 포인터가있었습니다. –

관련 문제