我將我的Qt應用程序移植到Mac OS X上。在Windows/Linux上,我使用QLineEdit在幫助菜單中提供搜索功能。Mac上的Qt - 如何訪問幫助菜單中的「搜索」
在Mac OS X中,我看到了這樣的事情是內置:
如何訪問使用Qt這個搜索欄(即添加自己的元素的話)?我在文檔中查看了QMenuBar,但找不到任何相關的內容。如果這是不可能的,我可以至少從我的C++ Qt應用程序中使用一些本地API嗎?
非常感謝。
我將我的Qt應用程序移植到Mac OS X上。在Windows/Linux上,我使用QLineEdit在幫助菜單中提供搜索功能。Mac上的Qt - 如何訪問幫助菜單中的「搜索」
在Mac OS X中,我看到了這樣的事情是內置:
如何訪問使用Qt這個搜索欄(即添加自己的元素的話)?我在文檔中查看了QMenuBar,但找不到任何相關的內容。如果這是不可能的,我可以至少從我的C++ Qt應用程序中使用一些本地API嗎?
非常感謝。
看來你不能直接通過Qt來完成,但是,你可以在Objective-C++/Cocoa中實現這一功能。
通過NSApplication的- registerUserInterfaceItemSearchHandler方法可以註冊用於查詢和返回搜索項目的自定義函數。
QtHelp似乎支持自動索引,這意味着您可以將搜索委託給該索引。
這是聚光燈幫助搜索字段,完全由系統控制。它會自動提供應用程序幫助簿和菜單項的結果。 AFAIK你不能「手動」填充它。它會在您爲應用程序創建幫助手冊時自動運行。
如果您嚮應用程序添加「幫助」菜單,Qt將自動添加搜索框。請參閱http://doc.qt.io/qt-4.8/mac-differences.html#menu-bar
是的,它是自動添加的,但我需要的是將我自己的項目添加到它 - 看起來像我必須創建一個幫助手冊根據欺騙的答案下面。現在它只在菜單項中搜索。 – houbysoft
您可以擺脫搜索菜單Mac OSX通過簡單地通過調用其他菜單來添加到幫助菜單。只是增加一個空間:
QMenu *helpMenu = menuBar()->addMenu(" Help"));
將工作。
+1關心提供平臺一致的體驗。 –