По какой-то причине все элементы меню отображаются серым цветом, когда я использую собственную панель меню в OS X Mavericks:
Я создаю действия меню, используя следующий код:
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
Любые идеи/предложения?
У меня такая же проблема.
Настройка свойства windowModality
моего MainWindow для NonModal
работала для меня.
Я подозреваю, что эта линия - ваш виновник:
addAction(newAct);
Вы не должны добавлять QActions в свое окно, так как вместо этого вы будете добавлять их к объекту fileMenu. Попробуйте удалить указанную выше строку.