crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> как сделать активной ссылку в QTextEdit
eldar85
  опции профиля:
сообщение 7.7.2010, 21:05
Сообщение #1


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


хотел сделать что то типа обычного блокнота, но нужно чтобы в нем если пишешь к примеру http://google.ru то эта ссылка была активной и щелкая по ней запускался браузер(опера или интернет эксплайер - не важно). как в обычном блокноте,если нажмешь ctrl и тыкнешь мышью по ссылке то запуститься браузер и отобразит содержимое ссылки.
знает кто нить как это сделать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
2 страниц V   1 2 >  
Начать новую тему
Ответов (1 - 9)
kibsoft
  опции профиля:
сообщение 7.7.2010, 21:20
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

Спасибо сказали: 14 раз(а)




Репутация:   2  


С помощью регулярных выражений(QRegExp) определить ссылку(гуглить, есть много примеров), затем в textedit заюзать <a href... а потом при нажатом Ctrl и клике, определять в ссылке ли находиться курсор и запускать браузер через QProcess. Примерно так..

http://otvety.google.ru/otvety/thread?tid=2bae4accb0a60c5f
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 7.7.2010, 21:24
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


QTextBrowser
?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
eldar85
  опции профиля:
сообщение 7.7.2010, 21:38
Сообщение #4


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


нифига себе как вс е сложно)))

а вот QTextBrowser уже что то проще выдает) только щелкая по ссылке ничего не запускает и сслка пропадает)

в принципе QTextBrowser нормально подойдет, как только теперь запусать процесс запуска инет браузера?

вот вывел в текст браузер ссылку
 ui->textBrowser->setText("<a href=\"http://www.yandex.ru/\" target=\"_blank\"> http://yandex.ru </a>");

как быть дальше?

Сообщение отредактировал eldar85 - 7.7.2010, 21:36
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 7.7.2010, 21:43
Сообщение #5


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


QDesktopServices::openUrl
?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
eldar85
  опции профиля:
сообщение 7.7.2010, 21:49
Сообщение #6


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


что то интересное, но чет не въеду как этим воспользоваться, я ведь не только на своем компе ее буду использовать...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 7.7.2010, 21:54
Сообщение #7


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


QDesktopServices::openUrl (QUrl("http://google.com") );
?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
eldar85
  опции профиля:
сообщение 7.7.2010, 22:00
Сообщение #8


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


да все, разобрался, спасибо тебе большое))) нагуглил)))

но смотри, если я тыкаю по ссылке, то как она запустит эту строку
QDesktopServices::openUrl(QString("http://www.google.com/"));
???
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 7.7.2010, 22:00
Сообщение #9


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


что нагуглил?
надо курить ассистант :)
Цитата
void QTextBrowser::sourceChanged ( const QUrl & src ) [signal]
This signal is emitted when the source has changed, src being the new source.

Source changes happen both programmatically when calling setSource(), forward(), backword() or home() or when the user clicks on links or presses the equivalent key sequences.

с тебя 3 спасибо ;)

Сообщение отредактировал DIMEDROLL - 7.7.2010, 22:07
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
eldar85
  опции профиля:
сообщение 7.7.2010, 22:22
Сообщение #10


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


спасибо, теперь доперло) все работает) правда долго выжидает браузер прежде чем запустить, но главное что пашет)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 30.11.2024, 4:13