Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Vl@domir от Май 15, 2008, 10:49



Название: Кликом по QLabel перейти на URL
Отправлено: Vl@domir от Май 15, 2008, 10:49
Добрый день.
Только приступил к изучению Qt 4.4.
Хочу по клику на QLabel перейти на URL.

label присвоил URL и написал следующий текст:

Цитировать
connect(label, SIGNAL(linkActivated(const QString &)), this, SLOT(link()));

void TestDialog::link()
{
  QDesktopServices::openUrl(QUrl("http://www.yandex.ru"));
}

Работает, но мне кажется это можно сделать проще... ???


Название: Re: Кликом по QLabel перейти на URL
Отправлено: Пантер от Май 15, 2008, 11:23
Код:
connect(label, SIGNAL(linkActivated(const QString &)), this, SLOT(link(const QString &)));

void TestDialog::link(const QString &qsLink)
{
  QDesktopServices::openUrl(QUrl(qsLink));
}
Вообще так правильнее будет. ;)


Название: Re: Кликом по QLabel перейти на URL
Отправлено: Vl@domir от Май 15, 2008, 11:30
Код:
connect(label, SIGNAL(linkActivated(const QString &)), this, SLOT(link(const QString &)));

void TestDialog::link(const QString &qsLink)
{
  QDesktopServices::openUrl(QUrl(qsLink));
}
Вообще так правильнее будет. ;)

Спасибо  :)


Название: Re: Кликом по QLabel перейти на URL
Отправлено: pastor от Май 15, 2008, 13:59
см. метод QLabel::setOpenExternalLinks


Название: Re: Кликом по QLabel перейти на URL
Отправлено: Vl@domir от Май 15, 2008, 14:27
см. метод QLabel::setOpenExternalLinks

Спасибо, сейчас покопаем в этом направлении  :)


Название: Re: Кликом по QLabel перейти на URL
Отправлено: chu от Февраль 01, 2011, 07:45
пробовал написать вот так:
Код:
    QLabel *lbl = new QLabel("<A HREF=\"LINK\">http://www.prog.org.ru</A>");
    lbl->setOpenExternalLinks(true);
и вот так:
Код:
    QLabel *lbl = new QLabel("<A HREF=\"LINK\">http://www.prog.org.ru</A>");
    connect(lbl, SIGNAL(linkActivated(const QString &)), this, SLOT(link(const QString &)));

void StartDialog::link(const QString &qsLink)
{
  QDesktopServices::openUrl(QUrl(qsLink));
}
в обоих случаях при нажатии на лэйбл ничего не происходит.
нужно еще что-то где-то дописать?


Название: Re: Кликом по QLabel перейти на URL
Отправлено: Etud от Февраль 01, 2011, 10:37
в обоих случаях при нажатии на лэйбл ничего не происходит.

А кто линк писать будет ?  ;)


Название: Re: Кликом по QLabel перейти на URL
Отправлено: chu от Февраль 01, 2011, 11:22
в обоих случаях при нажатии на лэйбл ничего не происходит.

А кто линк писать будет ?  ;)
это где? как? можно подробнее...


Название: Re: Кликом по QLabel перейти на URL
Отправлено: Etud от Февраль 01, 2011, 13:13
это где? как? можно подробнее...

Ну ёперный театр !

вместо LINK


Название: Re: Кликом по QLabel перейти на URL
Отправлено: UVV от Февраль 01, 2011, 13:13
Код
HTML
<a href=\"http://www.prog.org.ru\">http://www.prog.org.ru</a>


Название: Re: Кликом по QLabel перейти на URL
Отправлено: chu от Февраль 01, 2011, 14:30
Код
HTML
<a href=\"http://www.prog.org.ru\">http://www.prog.org.ru</a>
спасибо :)
это где? как? можно подробнее...

Ну ёперный театр !

вместо LINK
просто с HTML никогда дел не имел, теперь осознал всю нелепость вопроса :)


Название: Re: Кликом по QLabel перейти на URL
Отправлено: Etud от Февраль 01, 2011, 14:49
просто с HTML никогда дел не имел, теперь осознал всю нелепость вопроса :)

Ага, бывает.
В Qt не стоит на HTML сильно полагаться, поскольку не все работает.

А что творишь ? Признайся...


Название: Re: Кликом по QLabel перейти на URL
Отправлено: chu от Февраль 01, 2011, 15:08
Цитировать
А что творишь ? Признайся...
просто изучаю Qt  :)