Вопрос

В «О коробке» моего программного обеспечения я использовал QGraphicsTextItem показать о одобренном тексте.

Этот текст содержит гипертекстовые ссылки (в виде: <a href="http://some.random.site">link</a>).

Пункт отображается должным образом (гипертекстовые ссылки - это синие и подчеркнуты). Однако, когда я нажимаю на них, ничего не происходит.

Вот как я создал QGraphicsTextItem:

d_about_text_item = new QGraphicsTextItem;
d_about_text_item->setTextInteractionFlags(Qt::TextBrowserInteraction);
d_about_text_item->setHtml(aboutText());

Как я понимаю Qt Документация, призыв к setTextInteractionFlags Должна позволить мне обрабатывать специальные гипертекстовые ссылки, щелкните события.

Есть ли что-нибудь еще, что я должен сделать, чтобы иметь возможность нажать на ссылки и отображать связанную страницу в системном браузере по умолчанию?

Это было полезно?

Решение

Я нашел то, что сделал неправильно:

Мой содержащий QGraphicsView было setInteractive() установлен в false. Отказ Я удалил это и с тех пор это работает нормально.

Другие советы

FWIW я использую стандартную qmessageboxbox :: О методе и просто пропустите RAW HTML в качестве текста - Ссылки работают нормально.

QMessageBox::about(this, tr("About"), tr("<h1>My App</h1><p><a href='www.stackoverflow.com'>Click me!</a></p>"));
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top