qmenu不能在MAC (Qt Creator)上工作

qmenu does not work on MAC (Qt Creator)

本文关键字:Creator 工作 Qt 不能 MAC qmenu      更新时间:2023-10-16

我在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);
}

谢谢

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

第二,尝试在菜单中添加一些东西。mac电脑可能正在优化空菜单。但我知道这应该可以工作,我已经写了一个程序,在OSX上做得很好,用这种方式初始化菜单。

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

在构造函数或任何你想要的地方。如果你只是想在主窗口运行之前看一下它,只需执行

fileMenu->exec();