如何为整个Qt应用程序创建一个菜单



我的应用程序可以启动QMainWindow的多个实例,我希望每个实例都具有相同的菜单。如果没有实例初始化,但应用程序仍在运行(可能在Mac OS X上),我仍然希望显示相同的菜单,但禁用了一些项目。

我该怎么做呢?它会工作子类QMenuQMenuBar,把子类变成一个单例,并传递给每个QMainWindow ?

QMenu遵循Qt的所有权概念,每个菜单或操作只能由一个父级拥有。有一些方法可以克服这一点,但这并不是正确的做法。在这种情况下,子类不能改变太多,尤其是所有权模型。

我建议你创建一个菜单工厂,为每个窗口创建单独的菜单和操作(没有窗口的情况下一个),并将每个操作连接到相应的插槽(在窗口类中或在一些全局类中)。

相关内容

  • 没有找到相关文章

最新更新