qmenu不适用于MAC(Qt Creator)

时间:2011-11-13 00:48:56

标签: c++ qt osx-snow-leopard

我在Mac 10.6上,我正在尝试用Qt(Creator)创建一个菜单,但菜单没有出现。我有一些来自其他PC用户的反馈,相同的代码似乎适用于Windows:

#include <QtGui>  
#include "MyClass.h"  

MyClass::MyClass()  
{  
// Create a menu
    //QMainWindow::setMenuBar(new QMenuBar());  
    QMenu* my_menu = new QMenu("&File", this);  
    menuBar()->addMenu(my_menu);  
}  

您是否听说过mac的这类问题?

工具栏工作正常,但菜单没有。

编辑: 新代码:

#include <QtGui>
#include "MMenu.h"

MMenu::MMenu()
{
    QMenu* fileMenu = new QMenu("&File", this);
    QMenuBar *menuBar = new QMenuBar(0);
    menuBar->addMenu(fileMenu);
    //menuBar()->addMenu(fileMenu);
}

由于

2 个答案:

答案 0 :(得分:1)

首先,您可能对addMenu(QString)函数感兴趣,该函数一步返回创建的QMenu。

其次,尝试在菜单中添加内容。 Mac可能正在优化空菜单。但是我知道这应该有用,我编写了一个在OSX上做得很好的程序,以这种方式初始化菜单。

答案 1 :(得分:0)

QMenu *fileMenu = QMainWindow::menuBar()->addMenu(tr("&File"));
fileMenu->addAction(your_action);
fileMenu->addAction(your_second_action); 
...

在构造函数中或您想要的任何位置。如果您只想在主窗口运行之前查看它,只需执行

fileMenu->exec();