Отрисовка стандартного виджета на буфер |
Здравствуйте, гость ( Вход | Регистрация )
Отрисовка стандартного виджета на буфер |
piton |
29.9.2009, 17:16
Сообщение
#11
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 29.9.2009 Пользователь №: 1125 Спасибо сказали: 0 раз(а) Репутация: 0 |
Думаю стоит смотреть в сторону QPaintEngine, и делать своего наследника... Я так и не смог найти какого-либо примера или информации как это можно сделать. Хвостов у виджета в сторону QPaintEngine тоже не обнаружил. Если есть какие либо мысли, с удовольствие выслушаю. Думаю стоит смотреть в сторону QPaintEngine, и делать своего наследника... Я так и не смог найти какого-либо примера или информации как это можно сделать. Хвостов у виджета в сторону QPaintEngine тоже не обнаружил. Если есть какие либо мысли, с удовольствие выслушаю. |
|
|
BRE |
29.9.2009, 17:23
Сообщение
#12
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Я так и не смог найти какого-либо примера или информации как это можно сделать. Хвостов у виджета в сторону QPaintEngine тоже не обнаружил. Если есть какие либо мысли, с удовольствие выслушаю. Мысль следующая.... Любой виджет это QPaintDevice, в начале рисования он создает QPainter, которому указывает себя в качестве поверхности для рисования. Этот вызов идет в QPaintEngine::begin( QPaintDevice * pdev ). Это виртуальный метод, если его переопределить, то можно попробовать использовать вместо pdev свое устройство отображения. Это только мысли. Сообщение отредактировал BRE - 29.9.2009, 18:13 |
|
|
rnd |
29.9.2009, 17:33
Сообщение
#13
|
Студент Группа: Участник Сообщений: 54 Регистрация: 22.7.2009 Пользователь №: 930 Спасибо сказали: 1 раз(а) Репутация: 0 |
Самое просто в таких случаях - смотреть исходники куте и дебажится
|
|
|
Litkevich Yuriy |
29.9.2009, 17:59
Сообщение
#14
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
piton, тут меня одна мыслишка посетила. Значится баловался я QWebClient'ом, который сделал Мортен в лаборатории тролей.
Смысл его простой, вместо корневого виджета в своей программе, например, QWidget, устанавливаешь QWebClient. Компилируешь и запускашь. Открываешь браузер и вводишь адрес: http://localhost:1818 и видешь в браузере свою программу (и она работает). Вот мой скрин с использованием QWT Суть мысли: я заметил, что работает это так: запускашь свою программу, появляется её окно, но как только ты в браузере обращаешся к ней. Окно обычное исчезает. Стало бвть рисование проболжается не на окошке. Может там почерпнёшь, чтони-будь интересное? |
|
|
BRE |
29.9.2009, 19:02
Сообщение
#15
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
2 piton
Перечитал первый пост темы и у меня возник вопрос, а почему для всего этого не использовать QGraphicsView+QGraphicsScene. Эта связка и обеспечивает необходимый функционал. Глубина элементов есть, виджет на сцену поместить можно. |
|
|
piton |
30.9.2009, 13:02
Сообщение
#16
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 29.9.2009 Пользователь №: 1125 Спасибо сказали: 0 раз(а) Репутация: 0 |
Самое просто в таких случаях - смотреть исходники куте и дебажится Дебажили, откуда и поняли, что QT рисует на главное окно само. piton, тут меня одна мыслишка посетила. Значится баловался я QWebClient'ом, который сделал Мортен в лаборатории тролей. Смысл его простой, вместо корневого виджета в своей программе, например, QWidget, устанавливаешь QWebClient. Компилируешь и запускашь. Открываешь браузер и вводишь адрес: http://localhost:1818 и видешь в браузере свою программу (и она работает). Вот мой скрин с использованием QWT Суть мысли: я заметил, что работает это так: запускашь свою программу, появляется её окно, но как только ты в браузере обращаешся к ней. Окно обычное исчезает. Стало бвть рисование проболжается не на окошке. Может там почерпнёшь, чтони-будь интересное? Сейчас почитаем, потом отпишу о результатах. 2 piton Перечитал первый пост темы и у меня возник вопрос, а почему для всего этого не использовать QGraphicsView+QGraphicsScene. Эта связка и обеспечивает необходимый функционал. Глубина элементов есть, виджет на сцену поместить можно. Для этого надо переделать все, а проект уже идет не первый год. Может в следующих версиях на этом и будем основываться. |
|
|
Текстовая версия | Сейчас: 20.4.2024, 10:14 |