Russian Qt Forum
Ноябрь 27, 2024, 17:41
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Выборка html кода из QTextEdit
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Выборка html кода из QTextEdit (Прочитано 8265 раз)
Ponter
Гость
Выборка html кода из QTextEdit
«
:
Март 09, 2010, 20:09 »
Подскажите правильный путь к решению:
есть код:
QTextEdit txt;
txt->setHtml("text<a href=\"1\">Hello</a>text_2");
Ссылок может быть много.
так вот как выбрать все эти ссылки в какой-нибудь QList? То есть разделить простой текст и ссылки. Если пытаться разобрать html код, то будет гемор ибо QTextEdit html код пишет по-своему усмотрению.
Спасибо
Записан
gigabyte
Гость
Re: Выборка html кода из QTextEdit
«
Ответ #1 :
Март 09, 2010, 20:21 »
QRegExp с приблизительно такими параметрами:
QRecExp("<\s*a\s+href=(.*?)\s+>(.*?)<\s*/a\s*>")
Конечно я здесь переборщил с \s.
Записан
Ponter
Гость
Re: Выборка html кода из QTextEdit
«
Ответ #2 :
Март 09, 2010, 20:33 »
Цитата: gigabyte от Март 09, 2010, 20:21
QRegExp с приблизительно такими параметрами:
QRecExp("<\s*a\s+href=(.*?)\s+>(.*?)<\s*/a\s*>")
Конечно я здесь переборщил с \s.
не понял где его использовать,каким образом?
Записан
alexman
Гость
Re: Выборка html кода из QTextEdit
«
Ответ #3 :
Март 09, 2010, 20:50 »
QXmlQuery, QDomDocument.
Записан
gigabyte
Гость
Re: Выборка html кода из QTextEdit
«
Ответ #4 :
Март 09, 2010, 21:51 »
Цитата: Ponter от Март 09, 2010, 20:33
Цитата: gigabyte от Март 09, 2010, 20:21
QRegExp с приблизительно такими параметрами:
QRecExp("<\s*a\s+href=(.*?)\s+>(.*?)<\s*/a\s*>")
Конечно я здесь переборщил с \s.
не понял где его использовать,каким образом?
Его надо использовать между:
Код:
QTextEdit txt;
и
Код:
txt->setHtml("text<a href=\"1\">Hello</a>text_2");
или даже вместо setHTML просто надо при помощи QRegExp парсить текст
Записан
gigabyte
Гость
Re: Выборка html кода из QTextEdit
«
Ответ #5 :
Март 09, 2010, 21:52 »
Цитата: alexman от Март 09, 2010, 20:50
QXmlQuery, QDomDocument.
если это
X
HTML тогда да, а если просто HTML - тогда это компоненты могут давать сбои
Записан
alexman
Гость
Re: Выборка html кода из QTextEdit
«
Ответ #6 :
Март 09, 2010, 22:03 »
Простой парсинг?
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Выборка html кода из QTextEdit
«
Ответ #7 :
Март 10, 2010, 11:21 »
Может тупым перебором используя
QString QAbstractTextDocumentLayout::anchorAt ( const QPointF & position )
или
QString QTextEdit::anchorAt ( const QPoint & pos )
Записан
Qt 5.11/4.8.7 (X11/Win)
Ponter
Гость
Re: Выборка html кода из QTextEdit
«
Ответ #8 :
Март 10, 2010, 23:04 »
Спасибо всем за ответы. И еще вопрос возник: при вставке ссылки <a href=\"1\">text</a> он как и надо выводится синим цветом,но если печатать просто в QTextEdit сразу после ссылки,то набранный текст будет тоже синим,вот как можно от этого избавиться?
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Выборка html кода из QTextEdit
«
Ответ #9 :
Март 11, 2010, 09:05 »
С этим проблемы у всех редакторов с гиперссылками.
Да и как редактор догадается, что вы не хотите продолжить текст ссылки?
Самый простой способ copy-paste пробела.
Записан
Qt 5.11/4.8.7 (X11/Win)
alexman
Гость
Re: Выборка html кода из QTextEdit
«
Ответ #10 :
Март 11, 2010, 09:12 »
Цитата: GreatSnake от Март 11, 2010, 09:05
Да и как редактор догадается, что вы не хотите продолжить текст ссылки?
Есть же тег </a> окончания гиперссылки!?
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Выборка html кода из QTextEdit
«
Ответ #11 :
Март 11, 2010, 09:14 »
Цитата: alexman от Март 11, 2010, 09:12
Есть же тег </a> окончания гиперссылки!?
Интересно, как вы этот тег будете вводить при интерактивном наборе текста?
Записан
Qt 5.11/4.8.7 (X11/Win)
Ponter
Гость
Re: Выборка html кода из QTextEdit
«
Ответ #12 :
Март 11, 2010, 20:00 »
да уж в этом и проблема...пытался делать с помощью QTextCharFormat проблема такая же, всю голову сломал)))а выполнить надо
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...