macos - Qt4:QMenuBar/QMenu 在 Mac OS X 上不显示

标签 macos qt4

我在 Mac OS X (Snow Leopard) 下使用 QAction 使 QMenuBar 显示 QMenu 时遇到困难。

这是我用于创建菜单的代码:

void ClientWindow::setUpMenu ()
{
   QMenu * file = menuBar()->addMenu("&File");
   QAction * quit = new QAction("&Quit", this);
   file->addAction(quit);

   connect(quit, SIGNAL(triggered()), this, SLOT(quit()));
}

这是 ClientWindow 类接口(interface):

class ClientWindow : public QMainWindow
{
    public:
        ClientWindow (QWidget * parent = 0);
        void setUpMenu ();
};

这是我的 main() 方法:

int main (int argc, char * argv[])
{
    QApplication app(argc, argv);
    ClientWindow window;

    window.setUpMenu();
    window.show();

    return app.exec();
}

有什么想法为什么它不会显示在菜单栏上吗? 谢谢大家。

最佳答案

我解决了这个问题。

似乎已经有一个名为“退出”的操作,它是默认应用程序菜单的一部分(每个 Mac OS X GUI 应用程序都有这样的菜单)。这导致我尝试添加另一个名为“退出”的操作,该操作会被 Qt 或 Window Server 忽略。

只需将操作重命名为“关闭”即可解决问题。

关于macos - Qt4:QMenuBar/QMenu 在 Mac OS X 上不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2460036/

相关文章:

swift - SceneKit 项目用户交互

c++ - 有什么方法可以使用类的成员函数在并发线程中运行而无需在 C++11 中传递 *this 吗?

qt - message( $${QMAKE_FILE_IN} ) 没有打印当前正在处理的输入文件

performance - QCombobox 与具有大型模型的 QSqlQueryModel 一起工作非常慢

qt - 如何为当前项目制作 QCombobox 绘画项目委托(delegate)? (Qt 4)

c++ - QFlags 枚举类型转换突然失败

php - 无法在 Mac 上使用 wkhtmltopdf 打印 pdf

macos - 如何在 Swift 中获取按下的键

c++ - 现代 OpenGL 仅 MacOS 黑屏

c++ - 使用 QString 作为键的 QHash 查找速度