
Кнопка "What's This...?" предоставляет окно помощи, аналогичное Quickhelp, когда пользователь хочет получить конкретную помощь по определенному элементу рабочей области или элементу панели инструментов. Она располагается на панели инструментов и активируется после нажатия пользователем на нее. Курсор изменяется на стрелку с вопросительным знаком, как это изображено на кнопке. Пользователь может нажать на видимый элемент и получить окно помощи. В качестве упражнения вы можете посмотреть на поведение What's this...? в KDevelop. Для добавления кнопки What's This...? проделайте следующее:
включите qwhatsthis.h в исходный код
добавьте функцию-член QWhatsThis whats&_;this (или с другим именем) в область private вашего класса, унаследованного от KTMainWindow
определите идентификатор ресурса для этой кнопки в resource.h, например, &#;define ID&_;HELP&_;WHATS&_;THIS 10100
в методе, создающем панель инструментов (обычно initToolBar()), добавьте, где должна располагаться ваша кнопка:
whats_this = new QWhatsThis;
QToolButton *btnwhat = whats_this->whatsThisButton(toolBar());
QToolTip::add(btnwhat, i18n("What's this...?"));
toolBar()->insertWidget(ID_HELP_WHATS_THIS, btnwhat->sizeHint().width(), btnwhat);
btnwhat->setFocusPolicy(QWidget::NoFocus); |
добавьте сообщение, которое будет отображаться для определенного элемента:
whats_this->add(class_tree, i18n("Class Viewer\n\n"
"The class viewer shows all classes, methods and variables "
"of the current project files and allows switching to declarations "
"and implementations. The right button popup-menu allows more specialized "
"functionality.")); |