Russian Qt Forum
Ноябрь 25, 2024, 12:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Кликом по QLabel перейти на URL  (Прочитано 11404 раз)
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"));
}

Работает, но мне кажется это можно сделать проще... Непонимающий
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Май 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));
}
Вообще так правильнее будет. Подмигивающий
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Vl@domir
Гость
« Ответ #2 : Май 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));
}
Вообще так правильнее будет. Подмигивающий

Спасибо  Улыбающийся
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #3 : Май 15, 2008, 13:59 »

см. метод QLabel::setOpenExternalLinks
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Vl@domir
Гость
« Ответ #4 : Май 15, 2008, 14:27 »

см. метод QLabel::setOpenExternalLinks

Спасибо, сейчас покопаем в этом направлении  Улыбающийся
Записан
chu
Гость
« Ответ #5 : Февраль 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));
}
в обоих случаях при нажатии на лэйбл ничего не происходит.
нужно еще что-то где-то дописать?
Записан
Etud
Гость
« Ответ #6 : Февраль 01, 2011, 10:37 »

в обоих случаях при нажатии на лэйбл ничего не происходит.

А кто линк писать будет ?  Подмигивающий
Записан
chu
Гость
« Ответ #7 : Февраль 01, 2011, 11:22 »

в обоих случаях при нажатии на лэйбл ничего не происходит.

А кто линк писать будет ?  Подмигивающий
это где? как? можно подробнее...
Записан
Etud
Гость
« Ответ #8 : Февраль 01, 2011, 13:13 »

это где? как? можно подробнее...

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

вместо LINK
Записан
UVV
Гость
« Ответ #9 : Февраль 01, 2011, 13:13 »

Код
HTML
<a href=\"http://www.prog.org.ru\">http://www.prog.org.ru</a>
Записан
chu
Гость
« Ответ #10 : Февраль 01, 2011, 14:30 »

Код
HTML
<a href=\"http://www.prog.org.ru\">http://www.prog.org.ru</a>
спасибо Улыбающийся
это где? как? можно подробнее...

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

вместо LINK
просто с HTML никогда дел не имел, теперь осознал всю нелепость вопроса Улыбающийся
Записан
Etud
Гость
« Ответ #11 : Февраль 01, 2011, 14:49 »

просто с HTML никогда дел не имел, теперь осознал всю нелепость вопроса Улыбающийся

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

А что творишь ? Признайся...
Записан
chu
Гость
« Ответ #12 : Февраль 01, 2011, 15:08 »

Цитировать
А что творишь ? Признайся...
просто изучаю Qt  Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.172 секунд. Запросов: 23.