Ответ HostileFork в значительной степени на деньги. Один простой подход, который может работать, если у вас нет виджетов, которые сами ловят события WhatsThisClicked
, - это прослушивать события WhatsThisClicked
в виджете вашего главного окна. Код довольно прост, что-то вроде следующего:
bool MyMainWindow::event(QEvent* ev)
{
if (ev->type() == QEvent::WhatsThisClicked)
{
ev->accept();
QWhatsThisClickedEvent* whatsThisEvent = dynamic_cast<QWhatsThisClickedEvent*>(ev);
assert(whatsThisEvent);
QDesktopServices::openUrl(whatsThisEvent->href());
return true;
}
return QMainWindow::event(ev);
}