有没有办法为mac应用程序禁用“Start Dictation”?基本上,我反复在“编辑”菜单栏中显示“开始听写...”菜单。任何工作都会有所帮助。
答案 0 :(得分:1)
更改QMenu的title属性将阻止OS X自动将愚蠢的内容添加到“编辑”菜单中。
所以,如果我有一个QMenuBar,我正在为它添加菜单..
m_edit = this->addMenu(tr(" Edit"));
注意我在文本前放了一个空格。
答案 1 :(得分: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