에 비활성 메뉴 항목을 포함 다음 코드를QMenuBar 단지 내가 OS X 매버릭스의 기본 메뉴 모음을 사용할 때 내 모든 메뉴 표시 줄의 항목이 회색으로 표시되는 몇 가지 이유를 들어 OS의 X
newAct = new QAction(tr("&New"), this);
newAct->setShortcuts(QKeySequence::New);
newAct->setStatusTip(tr("New"));
newAct->setShortcutContext(Qt::ApplicationShortcut);
newAct->setEnabled(true);
newAct->setAutoRepeat(false);
addAction(newAct);
connect(newAct, SIGNAL(triggered()), this, SLOT(newFile()));
...
이러한 조치는 다음과 같이 도구 모음에 추가됩니다
// _menuBar = new QMenuBar(0);
_menuBar = menuBar();
//_menuBar->setNativeMenuBar(false);
fileMenu = _menuBar->addMenu(tr("&File"));
fileMenu->addAction(newAct);
첫 줄의 주석 처리를 제거하면 동일한 동작이 나타납니다. 그러나 네이티브가 아닌 메뉴 모음을 사용할 때 제대로 작동합니다.
Qt는 버전 :
$ /usr/local/qt/5.3/clang_64/bin/qmake -v
QMake version 3.0
Using Qt version 5.3.1 in /usr/local/qt/5.3/clang_64/lib
모든 아이디어/제안?
addAction(newAct);
대신 fileMenu 객체에 추가 할 것이기 때문에 당신이 당신의 창에 QActions를 추가해서는 안 :
안녕하세요,이 문제의 원인을 파악할 수 있었습니까? Qt 5.5에서도이 문제가 발생했습니다. Qt 4.8.6에서는 정상적으로 작동하지만 Qt 5.5에서는 모든 메뉴 항목이 비활성화됩니다. – Dmitry