OSX Lion에서 실행중인 Qt 4.7.4와 관련하여 이상한 동작이 관찰됩니다.Qt : Mac 메뉴 모음의 기이함
내 응용 프로그램이 모든 창에 대해 단일 메뉴 모음을 갖길 바랍니다. 그래서, 내 응용 프로그램이 보유하고 QMenuBar 개체 초기화 : 내 응용 프로그램을 실행할 때
this->macMenuBar = new QMenuBar(0);
, 나는, 종료 같은 몇 가지 기본 옵션으로, 바로 사과 로고, 메뉴 표시 줄에 내 응용 프로그램의 이름을 참조 서비스 -> 등 ...
내 응용 프로그램 이름 아래에이 메뉴에 두 개의 새로운 옵션을 추가하고 싶습니다. 그래서 QApplication의 생성자에서이 작업을 시도합니다.
this->macMenuBar->addAction(configurationAction);
this->macMenuBar->addAction(aboutMyAppAction);
이것은 에 메뉴에 아무런 영향을 미치지 않습니다. 두 작업이 모두 유효하고 도크 아이콘 메뉴에서 작동하지만 내 항목이 표시되지 않습니다.
그런 다음, 나는 전혀 이해하지 못하는 부분을 결정하지만 부분적으로 작동합니다.
QMenu * menu = this->macMenuBar->addMenu(("blah blah"));
menu->addAction(configurationAction);
menu->addAction(aboutMyApp);
지금 보여주고, 이러한 작업이 표시되어하는 아래의 "ㅋ ㅋ ㅋ ㅋ"라는 어떤 메뉴 항목의 흔적이있을 것 "에 대해"내 두 가지 작업 "구성"와!
지금은 다른 줄을 추가하기로 결정 :
이menu->addAction(loginAction);
그래서 내가 지금 무엇을받을 수 있나요? 내 응용 프로그램 이름의 메뉴 항목 아래 메뉴에서 "환경 설정"및 "about"을 선택하고 오른쪽에 "blah blah"라는 새로운 하위 메뉴를 하나의 항목 인 loginAction과 함께 사용합니다.
나는 정말로 여기에서 혼란 스럽다.
세 번째 작업을 추가 할 때까지 최상위 메뉴 항목이 "어쩌구"로 표시되지 않는 이유는 무엇입니까?
응용 프로그램 이름 아래 첫 번째 최상위 메뉴에 "loginAction"을 강제로 적용하려면 어떻게합니까? Qt는 포럼에서 해결
그건, 그것은 좋은 것입니다. –