[Qt-interest] nesting QGraphicsview inside QWidget

Luc Devallonné luc.devallonne at mnemis.com
Sun Mar 8 17:13:33 CET 2009


Martin,

The problem is that the QGraphicsView is no added to any layout, may
want to try something like

layout()->addWidget(&view) before the show() in the init()

Luc

On Sun, Mar 8, 2009 at 4:40 PM, Martin Schröer <gordon at gordonswelt.de> wrote:
> Here we go:
>
> the GraphicsView is nested inside imemMediaWidget class, which is used in
> the main app:
>
>   mediaWid = new imemMediaWidget();
>     QGridLayout *mainLayout = new QGridLayout;
>   mainLayout->addWidget(loadButton);
>   mainLayout->addWidget(mediaWid, 1, 0, 1, 2);
>   // mainLayout->addWidget(videoWidget, 1, 0);
>   // mainLayout->addWidget(mediaWid, 1, 1);
> mainLayout->addWidget(infoButton, 2, 0);
>   mainLayout->addWidget(timeLabel, 2, 1);
>   mainLayout->addWidget(infoLabel,3, 0, 1, 2);
>   setLayout(mainLayout);
>
> the widget itself:
>
> <header>
>
> class imemMediaWidget : public QWidget
> {
>   Q_OBJECT
>   QGraphicsScene scene;
>   QGraphicsView view;
>  public:
>   imemMediaWidget(QWidget *parent = 0);
>  protected:
>  private:
>   void init();
>   CustomProxy *proxy;
>  private slots:    };
>
> plus it's implementation ( stripped ):
>
> #include "imemMediaWidget.h"
>
>
> imemMediaWidget::imemMediaWidget(QWidget *parent) : QWidget(parent)
> {
>   init();
> }
>
> void imemMediaWidget::init()
> {
>   view.setScene(&scene);
>     scene.setSceneRect(scene.itemsBoundingRect());
>   view.setBackgroundBrush(QPixmap("No-Ones-Laughing-3.jpg"));
>   view.show();
> }
>
> Luc Devallonné schrieb:
>>
>> Strange behavior, could you post some code that demonstrates the problem ?
>>
>> Luc
>>
>> On Sun, Mar 8, 2009 at 4:14 PM, Martin Schröer <gordon at gordonswelt.de>
>> wrote:
>>
>>>
>>> Hmm ... when i try to do so ( i have some graphicsview code inside a
>>> QWidget
>>> class implementation), it shows the GraphicsView content outside of the
>>> window containing the widget in a own window ... ?
>>>
>>> Luc Devallonné schrieb:
>>>
>>>>
>>>> Martin,
>>>>
>>>> Actually QGraphicsView is a QWidget (QAbstractScrollArea -> QFrame ->
>>>> QWidget), and as such can be layout as any other QWidget.
>>>>
>>>> Luc
>>>>
>>>> On Sun, Mar 8, 2009 at 3:51 PM, Martin Schröer <gordon at gordonswelt.de>
>>>> wrote:
>>>>
>>>>
>>>>>
>>>>> Is it possible to have a QGraphicsview nested inside a QWidget, so
>>>>> the resulting Widget could be placed, used and layouted like any other
>>>>> widget ?
>>>>>
>>>>> Martin
>>>>> _______________________________________________
>>>>> Qt-interest mailing list
>>>>> Qt-interest at trolltech.com
>>>>> http://lists.trolltech.com/mailman/listinfo/qt-interest
>>>>>
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Qt-interest mailing list
>>>> Qt-interest at trolltech.com
>>>> http://lists.trolltech.com/mailman/listinfo/qt-interest
>>>>
>>>>
>>>
>>>
>>
>> _______________________________________________
>> Qt-interest mailing list
>> Qt-interest at trolltech.com
>> http://lists.trolltech.com/mailman/listinfo/qt-interest
>>
>
>




More information about the Qt-interest-old mailing list