Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: i9 от Октябрь 30, 2005, 14:18



Название: Qt3 URL в QLabel
Отправлено: i9 от Октябрь 30, 2005, 14:18
Наверняка кто-то сталкивался с необходимостью в диалоге "About" сделать ссылки на WEB страницу и на мыло. Можно ли это сделать используя QLabel?

У меня пока <a href='url'>url</a> дает только изменение цвета текста на цвет ссылки, но при этом ссылка совершенно не рабочая...


Название: Re: Qt3 URL в QLabel
Отправлено: basya от Январь 26, 2010, 13:47
у меня такая же проблема возникла. У вас получилось это сделать?


Название: Re: Qt3 URL в QLabel
Отправлено: Akaiten от Январь 26, 2010, 16:53
См. сигнал QLabel::linkActivated ( const QString & link ):
Код
C++ (Qt)
connect(ui.labelWithLink, SIGNAL(linkActivated(const QString &)), this, SLOT(linkActivated(const QString &)));
...
 
void MyWindow::linkActivated(const QString &url)
{
   QDesktopServices::openUrl(QUrl(url));
}
 

Например, я делаю это извратно :)
Добавляю QLabel, настраиваю её вид так, чтобы выглядела как ссылка (подчёркнутый синий шрифт, указатель мыши  в форме "Pointing Hand" и т.п.), затем делаю "Promote to..." до собственного класса QLabelEx с поддержкой событий  clicked() и dblclicked(), на которые вешается код открытия ссылки.