Название: Отрисовка QWidget в QPixmap Отправлено: jasf от Октябрь 26, 2009, 16:46 Здравствуйте. Подскажите пожалуйста, как отрисовывать содержимое QWidget в QPixmap без применения QGraphicsView. Например хочеться иметь доступ к QMainWindow.. т.е. что бы QMainWindow рисовало всё в отдельный QPainter (QPixmap), который потом руками мог бы выводиться на экран.. спасибо.
Название: Re: Отрисовка QWidget в QPixmap Отправлено: pastor от Октябрь 26, 2009, 16:56 Несовсем понятно что нужно, но глянь вот это:
QPixmap::grabWidget QWidget::render Название: Re: Отрисовка QWidget в QPixmap Отправлено: jasf от Октябрь 26, 2009, 17:10 Да. Спасибо. Именно это и нужно было :) но.. с небольшим изменением. Хотелось бы, что бы в данный QPixmap виджет отрисовывался всегда(при любом update() любого из чилдовских виджетов). т.е., по всей видимости, мне нужно перехватить некий глобальный paintEvent.. ну т.е. чтобы вся отрисовка или любой update() виджета проходила через QPixmap, который (имею ввиду QPixmap) потом отрисовывался бы в системный QPainter.
т.е. хочеться, что бы отрисовка виджетов в окне проходила через QPixmap :) Название: Re: Отрисовка QWidget в QPixmap Отправлено: Alex Custov от Октябрь 26, 2009, 19:27 Да. Спасибо. Именно это и нужно было :) но.. с небольшим изменением. Хотелось бы, что бы в данный QPixmap виджет отрисовывался всегда(при любом update() любого из чилдовских виджетов). т.е., по всей видимости, мне нужно перехватить некий глобальный paintEvent.. ну т.е. чтобы вся отрисовка или любой update() виджета проходила через QPixmap, который (имею ввиду QPixmap) потом отрисовывался бы в системный QPainter. т.е. хочеться, что бы отрисовка виджетов в окне проходила через QPixmap :) используй глобальный фильтр событий. Цитировать bool QCoreApplication::notify ( QObject * receiver, QEvent * event ) [virtual] Sends event to receiver: receiver->event(event). Returns the value that is returned from the receiver's event handler. Note that this function is called for all events send to any object is all threads. For certain types of events (e.g. mouse and key events), the event will be propagated to the receiver's parent and so on up to the top-level object if the receiver is not interested in the event (i.e., it returns false). There are five different ways that events can be processed; reimplementing this virtual function is just one of them. All five approaches are listed below:
|