![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
eldar85 |
![]()
Сообщение
#1
|
![]() программист ![]() ![]() ![]() Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
хотел сделать что то типа обычного блокнота, но нужно чтобы в нем если пишешь к примеру http://google.ru то эта ссылка была активной и щелкая по ней запускался браузер(опера или интернет эксплайер - не важно). как в обычном блокноте,если нажмешь ctrl и тыкнешь мышью по ссылке то запуститься браузер и отобразит содержимое ссылки.
знает кто нить как это сделать? |
|
|
![]() |
kibsoft |
![]()
Сообщение
#2
|
Участник ![]() ![]() Группа: Участник Сообщений: 180 Регистрация: 21.7.2009 Из: Самара Пользователь №: 928 Спасибо сказали: 14 раз(а) Репутация: ![]() ![]() ![]() |
С помощью регулярных выражений(QRegExp) определить ссылку(гуглить, есть много примеров), затем в textedit заюзать <a href... а потом при нажатом Ctrl и клике, определять в ссылке ли находиться курсор и запускать браузер через QProcess. Примерно так..
http://otvety.google.ru/otvety/thread?tid=2bae4accb0a60c5f |
|
|
DIMEDROLL |
![]()
Сообщение
#3
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 165 Регистрация: 28.9.2008 Из: Киев Пользователь №: 304 Спасибо сказали: 23 раз(а) Репутация: ![]() ![]() ![]() |
QTextBrowser
? |
|
|
eldar85 |
![]()
Сообщение
#4
|
![]() программист ![]() ![]() ![]() Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
нифига себе как вс е сложно)))
а вот QTextBrowser уже что то проще выдает) только щелкая по ссылке ничего не запускает и сслка пропадает) в принципе QTextBrowser нормально подойдет, как только теперь запусать процесс запуска инет браузера? вот вывел в текст браузер ссылку
как быть дальше? Сообщение отредактировал eldar85 - 7.7.2010, 21:36 |
|
|
DIMEDROLL |
![]()
Сообщение
#5
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 165 Регистрация: 28.9.2008 Из: Киев Пользователь №: 304 Спасибо сказали: 23 раз(а) Репутация: ![]() ![]() ![]() |
QDesktopServices::openUrl
? |
|
|
eldar85 |
![]()
Сообщение
#6
|
![]() программист ![]() ![]() ![]() Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
что то интересное, но чет не въеду как этим воспользоваться, я ведь не только на своем компе ее буду использовать...
|
|
|
DIMEDROLL |
![]()
Сообщение
#7
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 165 Регистрация: 28.9.2008 Из: Киев Пользователь №: 304 Спасибо сказали: 23 раз(а) Репутация: ![]() ![]() ![]() |
QDesktopServices::openUrl (QUrl("http://google.com") );
? |
|
|
eldar85 |
![]()
Сообщение
#8
|
![]() программист ![]() ![]() ![]() Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
да все, разобрался, спасибо тебе большое))) нагуглил)))
но смотри, если я тыкаю по ссылке, то как она запустит эту строку ???
|
|
|
DIMEDROLL |
![]()
Сообщение
#9
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 165 Регистрация: 28.9.2008 Из: Киев Пользователь №: 304 Спасибо сказали: 23 раз(а) Репутация: ![]() ![]() ![]() |
что нагуглил?
надо курить ассистант ![]() Цитата 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 |
![]()
Сообщение
#10
|
![]() программист ![]() ![]() ![]() Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
спасибо, теперь доперло) все работает) правда долго выжидает браузер прежде чем запустить, но главное что пашет)
|
|
|
kibsoft |
![]()
Сообщение
#11
|
Участник ![]() ![]() Группа: Участник Сообщений: 180 Регистрация: 21.7.2009 Из: Самара Пользователь №: 928 Спасибо сказали: 14 раз(а) Репутация: ![]() ![]() ![]() |
Я не понял нужен редактор или просто отображалка?
Цитата в нем если пишешь QTextBrowser только для read вроде. Точней write можно включить, но смысла в QTextBrowser тогда не будет. Цитата This class extends QTextEdit (in read-only mode), adding some navigation functionality so that users can follow links in hypertext documents.
If you want to provide your users with an editable rich text editor, use QTextEdit. If you want a text browser without hypertext navigation use QTextEdit, and use QTextEdit::setReadOnly() to disable editing. Сообщение отредактировал kibsoft - 7.7.2010, 22:43 |
|
|
eldar85 |
![]()
Сообщение
#12
|
![]() программист ![]() ![]() ![]() Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
да нужна была именно отображалка ссылок, только вот одно не понятно, сделал так , все работает, тыкаешь ссылку, открывается страница в браузере, но после того как тыкнул ссылку ссылка пропадает - в смысле она стерается с QTextBrowser... почему???????? блин...
Сообщение отредактировал eldar85 - 8.7.2010, 2:47 |
|
|
DIMEDROLL |
![]()
Сообщение
#13
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 165 Регистрация: 28.9.2008 Из: Киев Пользователь №: 304 Спасибо сказали: 23 раз(а) Репутация: ![]() ![]() ![]() |
дело в том, что когда ты кликаешь на ссылку он пытается ее найти, понимает ее как внешнюю и открывет браузер, при этом как бы переходит вперед(forward()) вызывая backward(), ты переходишь назад и видишь свой документ еще как вариант использовать QLabel, с openExternalLinks = true создаешь QScrollArea, создаешь QVerticalLayout для него и добавляешь туда QLabel со своим текстом |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 29.5.2025, 16:35 |