# 8. Система помощи

Очень важная часть процесса разработки - реализация системы помощи там, где это возможно. Многие разработчики стараются сделать это в последнюю очередь, но вы должны помнить, что обычный пользователь не обязательно эксперт Unix'а. Он может прийти с темной стороны компьютерных программ, где даются все возможные конфетки и пользоваться приложением можно, даже не заглядывая в руководство. Библиотеки KDE и Qt предоставляют все, что может потребоваться, чтобы сделать приложение профессионально выглядящим в глазах обычного пользователя, и все функции помощи могут быть использованы. В приложении это:

- Всплывающие подсказки (Tool-Tips)

- Быстрая помощь (Quick-Help)

- Помощь в строке статуса (Statusbar help)

- Кнопка What's this...?

Кроме того, приложение должно обеспечивать доступ к документации в HTML-формате, используя стандартную кнопку F1.

KDevelop предоставляет возможность реализации всех функций помощи, и стандартный шаблон приложения уже содержит их базовую реализацию. Поэтому в данной главе мы рассмотрим, что, где и как надо добавлять в вашу систему помощи для ее расширения.

В процессе разработки вашего приложения вы должны следить за согласованностью элементов того, что вы разрабатываете; вы должны добавлять функции помощи непосредственно при разработке кода. Это позволит вам избежать его последующего анализа и выяснения, за что же отвечает данная часть приложения.

# 8.1. Всплывающие подсказки

Очень простой способ обеспечения помощи - это всплывающие подсказки. Это маленькие сообщения, которые появляются, когда пользователь подводит указатель мыши к элементу. Сообщение исчезает, когда указатель мыши убирается с элемента. Наиболее популярно использование всплывающих подсказок в панелях инструментов. Здесь всплывающие подсказки должны быть как можно короче, потому что панель инструментов может конфигурироваться для отображения только кнопок, кнопок и текста справа, кнопок и текста под ними или только текста. Это может быть реализовано в приложении, а может и не быть реализовано. Текст всегда отображается как всплывающая подсказка, и панель инструментов обычно состоит из кнопок и других элементов, например, строк ввода и выпадающих списков. Для получения полной информации см. описание класса `KToolBar` в библиотеке KDE-UI.

Например, рассмотрим кнопку "New File" в сгенерированном шаблоне:

     toolBar()->insertButton(Icon("filenew.xpm"), ID_FILE_NEW, true, i18n("New File") );

Здесь часть `i18n("New File")` реализует всплывающую подсказку. Она заключена в макрос i18n(), предоставляемый `kapp.h` для перевода подсказки на используемый язык.

Всплывающая подсказка может быть добавлена к любому пользовательскому элементу с помощью Qt -классов `QToolTip` и `QToolTipGroup`. Например,

     QToolTip::add( yourwidget, i18n("Ваша_подсказка") );

Для получения более подробной информации, см. описание класса `QToolTip` в документации Qt .