Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: proton от Декабрь 30, 2009, 10:15



Название: Автоматические ссылки в редакторе
Отправлено: proton от Декабрь 30, 2009, 10:15
Собственно ситуация такая: Есть QTextEdit (можно и QPlainTextEdit/QTextBrowser/что-нибудь, мне не важно)

Хочу, чтобы при вводе какой-нибудь ссылки (к примеру "http://ya.ru") она либо превращалась в настоящую ссылку, либо была кликабельна при нажатом Ctrl (аля функции/классы в редакторе QtCreator).

Как можно подобное реализовать?


Название: Re: Автоматические ссылки в редакторе
Отправлено: NicK от Декабрь 30, 2009, 11:11
Присоединяюсь к вопросу. Сегодня столкнулся с этой же проблемой.
Код:
teAboutInfo->setText("<CENTER><a href=\"http://www.SomeSite.ru\">Some site</a></CENTER>");

В итоге ссылка отображается, но клик по ней ничего не дает.
P.S. Если делать не setText, а setHtml. Результат такой же. Т.е. ссылка не кликабельна.


Название: Re: Автоматические ссылки в редакторе
Отправлено: BRE от Декабрь 30, 2009, 11:19
А про
void QTextBrowser::setOpenLinks ( bool open )
void QTextBrowser::setOpenExternalLinks ( bool open )
не забыл?



Название: Re: Автоматические ссылки в редакторе
Отправлено: proton от Декабрь 30, 2009, 11:23
Присоединяюсь к вопросу. Сегодня столкнулся с этой же проблемой.
Код:
teAboutInfo->setText("<CENTER><a href=\"http://www.SomeSite.ru\">Some site</a></CENTER>");

В итоге ссылка отображается, но клик по ней ничего не дает.
P.S. Если делать не setText, а setHtml. Результат такой же. Т.е. ссылка не кликабельна.


У меня несколько другой вопрос) (Возможно я плохо  его описал)
Я хочу, чтобы набираемые ссылки динамически превращались в настоящие ссылки)


Название: Re: Автоматические ссылки в редакторе
Отправлено: BRE от Декабрь 30, 2009, 11:28
Я хочу, чтобы набираемые ссылки динамически превращались в настоящие ссылки)
В простом случае, при изменении текста проверять (например с помощью регулярных выражений) не образовалась ли ссылка и если образовалась заменять ее текст на  конструкцию типа:
<a href=\"http://www.somesite.ru\">http://www.somesite.ru</a>


Название: Re: Автоматические ссылки в редакторе
Отправлено: proton от Декабрь 30, 2009, 11:32
Я хочу, чтобы набираемые ссылки динамически превращались в настоящие ссылки)
В простом случае, при изменении текста проверять (например с помощью регулярных выражений) не образовалась ли ссылка и если образовалась заменять ее текст на  конструкцию типа:
<a href=\"http://www.somesite.ru\">http://www.somesite.ru</a>

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


Название: Re: Автоматические ссылки в редакторе
Отправлено: NicK от Декабрь 30, 2009, 15:31
А про
void QTextBrowser::setOpenLinks ( bool open )
void QTextBrowser::setOpenExternalLinks ( bool open )
не забыл?



Забыл  :)
Спасибо