Qt на Mac - как получить доступ к «поиску» в меню справки - PullRequest
7 голосов
/ 13 июля 2011

Я портирую свое приложение Qt на Mac OS X. В Windows / Linux я использовал QLineEdit для предоставления функции поиска в меню Справка.

В Mac OS X я увидел что-то вроде этого: enter image description here

Как я могу получить доступ к этой строке поиска с помощью Qt (то есть добавить свои собственные элементы к ней)? Я посмотрел на QMenuBar в документах, но не смог найти ничего подходящего. Если это невозможно, могу ли я хотя бы использовать какой-нибудь нативный API из моего приложения C ++ Qt?

Большое спасибо.

Ответы [ 4 ]

4 голосов
/ 13 июля 2011

Это поле поиска Spotlight For Help, которое полностью контролируется системой. Он автоматически предоставляет результаты из справочной книги вашего приложения и пунктов меню. AFAIK, вы не можете заполнить его "вручную". Он работает автоматически при создании справочной книги для вашего приложения.

См. Основные понятия справки Apple: меню справки .

3 голосов
/ 25 февраля 2013

Кажется, вы не можете сделать это напрямую через Qt, однако вы можете реализовать эту функцию в Objective-C ++ / Cocoa.

С помощью - registerUserInterfaceItemSearchHandler метода NSApplication можно зарегистрировать пользовательскую функцию для запроса и возврата элементов поиска.

QtHelp , кажется, поддерживает автоматическую индексацию, что означает, что вы можете делегировать поиск этому.

3 голосов
/ 13 июля 2011

Если вы добавите меню справки в ваше приложение, Qt автоматически добавит поле поиска.Смотри http://doc.qt.io/qt-4.8/mac-differences.html#menu-bar

1 голос
/ 14 августа 2012

Вы можете избавиться от меню «Поиск», которое Mac OSX добавляет в меню «Справка», просто вызвав меню другим способом. Просто добавив пробел:

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

будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...