我正在将我的Qt应用程序移植到Mac OS X.在Windows / Linux上,我使用了QLineEdit在“帮助”菜单中提供搜索功能。
在Mac OS X中,我看到内置的内容如下:
如何使用Qt访问此搜索栏(即添加我自己的元素)?我在文档中查看了QMenuBar,但找不到任何相关内容。如果不可能,我可以至少使用我的C ++ Qt应用程序中的一些原生API吗?
非常感谢。
答案 0 :(得分:4)
这是Spotlight For Help搜索字段,完全由系统控制。它会自动提供应用程序帮助手册和菜单项的结果。 AFAIK你无法“手动”填充它。当您为应用程序创建帮助手册时,它会自动运行。
答案 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"));
会奏效。