Qt on Mac - 如何在帮助菜单中访问“搜索”

时间:2011-07-13 03:03:16

标签: c++ qt macos

我正在将我的Qt应用程序移植到Mac OS X.在Windows / Linux上,我使用了QLineEdit在“帮助”菜单中提供搜索功能。

在Mac OS X中,我看到内置的内容如下: enter image description here

如何使用Qt访问此搜索栏(即添加我自己的元素)?我在文档中查看了QMenuBar,但找不到任何相关内容。如果不可能,我可以至少使用我的C ++ Qt应用程序中的一些原生API吗?

非常感谢。

4 个答案:

答案 0 :(得分:4)

这是Spotlight For Help搜索字段,完全由系统控制。它会自动提供应用程序帮助手册和菜单项的结果。 AFAIK你无法“手动”填充它。当您为应用程序创建帮助手册时,它会自动运行。

请参阅Apple Help Concepts: The Help Menu

答案 1 :(得分:3)

如果您在应用程序中添加“帮助”菜单,Qt将自动添加搜索框。见http://doc.qt.io/qt-4.8/mac-differences.html#menu-bar

答案 2 :(得分:3)

看来你不能直接通过Qt这样做,但是,你可以在Objective-C ++ / Cocoa中实现这个功能。

可以通过NSApplication的- registerUserInterfaceItemSearchHandler方法注册查询和返回搜索项的自定义函数。

QtHelp似乎支持自动索引,这意味着您可以将搜索委托给它。

答案 3 :(得分:1)

您可以通过调用其他菜单来摆脱搜索菜单Mac OSX添加到帮助菜单。只需添加一个空格:

QMenu *helpMenu = menuBar()->addMenu(" Help"));

会奏效。