Russian Qt Forum
Ноябрь 16, 2024, 10:37
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Виджет внутри QTextBrowser
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Виджет внутри QTextBrowser (Прочитано 4020 раз)
dd
Гость
Виджет внутри QTextBrowser
«
:
Январь 17, 2011, 14:28 »
Задача вставить виджет в QTextBrowser, например кнопку.
Когда писал на wxWidgets, там тоже есть класс отображения порстого html.
Там можно задать пользовательский тег, привязать к нему любой виджет из программы
и отображать в странице просто вставив тег и размеры.
Есть ли что-нибудь подобное в QT? Сам пока не нашел.
Зачем мне это нужно? Хочу, чтобы в html странице кнопка нажималась.
Просто ссылка картинкой не прокатывает, ибо принажатии не изменяет своего вида.
Подключать WebKit не буду, слишком борльшой. Приложение для моб. устройств.
Спасибо за помощь.
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Виджет внутри QTextBrowser
«
Ответ #1 :
Январь 17, 2011, 14:47 »
Цитировать
Есть ли что-нибудь подобное в QT? Сам пока не нашел.
Нет и скорее всего и не будет, т.к. есть в webKit-e.
Записан
Qt 5.11/4.8.7 (X11/Win)
dd
Гость
Re: Виджет внутри QTextBrowser
«
Ответ #2 :
Январь 17, 2011, 15:02 »
У вебкита и QTextBrowser - а разные задачи вообще.
Мой случай - наглядный пример, где этот функционал потребовался.
Если Вы не прочитали сообщение до конца, повторюсь: ради такой мелочи подключать вебкит не буду, ибо ограничен в ресурсах на КПК.
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Виджет внутри QTextBrowser
«
Ответ #3 :
Январь 17, 2011, 15:07 »
Цитировать
Если Вы не прочитали сообщение до конца, повторюсь: ради такой мелочи подключать вебкит не буду, ибо ограничен в ресурсах на КПК.
Я всё прочитал и всё понял. Но реальность такова
Записан
Qt 5.11/4.8.7 (X11/Win)
twp
Гость
Re: Виджет внутри QTextBrowser
«
Ответ #4 :
Январь 17, 2011, 16:55 »
в Qt есть пример (Text Object Example) как вставлять кастом типы в QTextEdit, может поможет
Записан
dd
Гость
Re: Виджет внутри QTextBrowser
«
Ответ #5 :
Январь 17, 2011, 17:17 »
Я сейчас как раз ковыряю Text Object Example.
Вроде получается, отпишу как что.
-------------------------------
Короче разобрался.
Сделал c использованием QTextObjectInterface, QTextCharFormat итд. см Text Object Example в документации.
Создается новый тип символа, он добавляется в текст, попутно получив значения размеров.
При этом создается нужный виджет.
При перерисовке "символ" получает размеры и положение, которые шлет их сигналом куда надо.
Там, куда сигнал приходит, меняется размер и положение виджета поверх окна QTextBrowser::viewport()
короче как-то так. Получилось достаточно геморно, но другого выхода не вижу.
В итоге есть класс, наследованный от QTextBowser,у которого есть метод:
QTextBowser::AddDdWidget(QWidget*, QSize);
Этот метод добавляет виджет примерно так:
pBrowser->append("some text");
pBrowser->AddDdWidget(new QPushButton("Test"), QSize(100, 40));
pBrowser->append("some text");
«
Последнее редактирование: Январь 17, 2011, 19:47 от dd
»
Записан
Страниц: [
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...