gpt4 book ai didi

c++ - 在 Mac 上填充菜单栏

转载 作者:行者123 更新时间:2023-11-30 03:14:19 24 4
gpt4 key购买 nike

我尝试将 MenuBar 添加到我在 macOS 上开发的应用程序中,但我遇到了一个我不知道的问题:

作品:

     QAction *freeNameAct = new QAction(tr("&Settin"), this);
freeNameAct->setStatusTip(tr("Create a new file"));

QMenu *fileMenu = menuBar()->addMenu(tr("&File2"));
fileMenu->addAction(freeNameAct);

但不起作用:

     QAction *freeNameAct = new QAction(tr("&Setting"), this);
freeNameAct->setStatusTip(tr("Create a new file"));

QMenu *fileMenu = menuBar()->addMenu(tr("&File2"));
fileMenu->addAction(freeNameAct);

菜单栏的文字长度有限制吗?

最佳答案

不,问题不在于长度。你可以这样做:

 QAction *freeNameAct = new QAction(tr("&Setting"), this);
freeNameAct->setStatusTip(tr("Create a new file"));
freeNameAct->setMenuRole(QAction::NoRole);

每个 QAction 都有一个 menuRole 属性,它控制应用程序菜单项的特殊放置;但是默认情况下,menuRole 是 TextHeuristicRole,这意味着菜单项将通过其文本自动检测。 Source

在您的例子中,给操作一个文本“Setting”,它被放置在应用程序菜单下,带有文本“Preferences...”(这是 macOS 中的默认位置和名称)并且它从菜单 File2。

关于c++ - 在 Mac 上填充菜单栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57904038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com