1

有没有办法为 mac 应用程序禁用“开始听写”?基本上,我在“编辑”菜单栏中反复获得“开始听写...”菜单。任何解决方法都会有所帮助。

4

2 回答 2

1

更改 QMenu 的 title 属性将阻止 OS X 将愚蠢的东西自动添加到 Edit 菜单中。

所以如果我有一个 QMenuBar 并且我正在向它添加菜单..

m_edit = this->addMenu(tr(" Edit"));

请注意,我在文本前面放了一个空格。

于 2013-04-15T07:11:07.553 回答
0

您需要重命名菜单以阻止 macOS 与它们混淆。在菜单项前面添加一个空格是可行的,但有点难看。这是使用零宽度字符的更经典的方法:

menu->setTitle( menu->title().prepend( QString::fromUtf8( "\u200C" )  ) );

您可以在 QMainWindow 派生类中为所有顶级应用程序菜单执行此操作(在 Qt 4.7 上测试):

#ifdef Q_OS_MACX
foreach ( QMenu* menu, menuBar()->findChildren<QMenu*>() )
{
    menu->setTitle( menu->title().prepend( QString::fromUtf8( "\u200C" )  ) );
}
#endif
于 2017-04-04T17:07:32.057 回答