Название: Отрисовка интерфейса в окне X11lib Отправлено: iddqd от Ноябрь 16, 2011, 08:23 Нужно создать окно X11 и в идеале расположить на нём QGraphicsScene, но для начала хотя бы просто отрисовывать на нём QPixmap и обрабатывать события (перерисовка и нажатия мышки).
Окно создаётся через XCreateWindow() в конструкторе класса, который унаследован от QApplication. И уже вот тут не совсем понятно как при этом реализовать обработку событий от этого окна, чтобы события попадали на обработку в переопределённый x11EventFilter(). Затем, как я понимаю можно через QPixmap::fromX11Pixmap() получить изображение созданного окна и рисовать на нём с помощью QPainter'a. Но вот собрать всё это вместе в один рабочий пример пока, к сожалению, не получается... Название: Re: Отрисовка интерфейса в окне X11lib Отправлено: GreatSnake от Ноябрь 16, 2011, 08:37 Окно создаётся через XCreateWindow() в конструкторе класса, который унаследован от QApplication. Top-level QWidget точно также создаётся через XCreateWindow(). Объясните зачем нужет такой изврат?Название: Re: Отрисовка интерфейса в окне X11lib Отправлено: iddqd от Ноябрь 16, 2011, 08:51 Есть такой момент, что при использовании любого QWidget'a система по-умолчанию растягивает окно на весь экран, даже если я явно задаю расположение и размеры. Поэтому то и приходится делать такой велосипед, так как при проверке получилось создать X11 окно, которое не растягивается системой. Но только как теперь правильно смешать код создания окна через x11lib и сделать обработку событий через qt код не понятно. А в чистом коде на x11lib цикл обработки событий реализуется как бесконечный цикл for (;;) {...}, что соответственно блокирует всё остальное.
Название: Re: Отрисовка интерфейса в окне X11lib Отправлено: GreatSnake от Ноябрь 16, 2011, 09:43 Есть такой момент, что при использовании любого QWidget'a система по-умолчанию растягивает окно на весь экран, даже если я явно задаю расположение и размеры. Поэтому то и приходится делать такой велосипед, так как при проверке получилось создать X11 окно, которое не растягивается системой. Бред какой-то.Какая платформа? Менеджер окон? Как задавали геометрию? Название: Re: Отрисовка интерфейса в окне X11lib Отправлено: iddqd от Ноябрь 16, 2011, 09:53 MeeGo Harmattan.
WM там какой-то собственный, композитный. как точнее узнать не в курсе. Геометрию задавал так: Код: QGraphicsScene scene; Название: Re: Отрисовка интерфейса в окне X11lib Отправлено: illusionoflife от Ноябрь 24, 2011, 22:48 Что за бред? QGraphicsScene не виджет. Это логическая структура, не более.
Отсюда рискну предположить, что вы хотите использовать QGraphicsView::QWidget::resize; Название: Re: Отрисовка интерфейса в окне X11lib Отправлено: iddqd от Ноябрь 24, 2011, 23:05 Для начала нужно хотя бы просто создать окно и отрисовывать на нём, скажем, QPixmap и обрабатывать события (перерисовка и нажатия мышки)...
|