Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: lighting от Ноябрь 02, 2009, 17:02



Название: Неправильный порядок отображения объектов сцены.
Отправлено: lighting от Ноябрь 02, 2009, 17:02
Создаю сцену и добавляю на нее виджеты:
Код:
    graphicsView = new QGraphicsView(this);
    graphicsView->setGeometry(this->frameGeometry());
    graphicsView->setRenderHint(QPainter::Antialiasing);
    graphicsView->setBackgroundBrush(QPixmap("./img/main_bg.jpg"));
    scene = new QGraphicsScene(this);    
    scene->setSceneRect(graphicsView->contentsRect());
    graphicsView->setScene(scene);
    dialog = new RecDialog(this);
    cameradialog = new CamDialog(this);
    btnShow = new QPushButton("&Recordings", this);
    btnShow->setGeometry(354, 464, 180, 202);
    btnCamDialogShow = new QPushButton("&Camera",this);
    btnCamDialogShow->setGeometry(550, 464, 180, 202);
    btnClose = new QPushButton("&Quit", this);
    btnClose->setGeometry(746, 464, 180, 202);

    item = new QGraphicsProxyWidget();
    item = scene->addWidget(btnClose);
    item->setZValue(0);
    item = scene->addWidget(btnShow);
    item->setZValue(1);
    item = scene->addWidget(btnCamDialogShow);
    item->setZValue(2);
    items[0] = scene->addWidget(dialog);
    item->setZValue(3);
    items[1] = scene->addWidget(cameradialog);
    item->setZValue(4);
Проверял в дебагере - Z устанавливается таким как я и указывал, однако всегда при наложении btnShow, btnClose и btnDialogShow рисуются поверх dialog и cameradialog, хотя должно быть вроде-как наоборот. В чем может быть ошибка?

PS: Забыл сказать, при запуске приложения из QtCreator вываливаются три сообщения вида:
QGraphicsProxyWidget::setWidget: cannot embed widget 0x5374fe0 which is not a toplevel widget, and is not a child of an embedded widget
Я так понимаю что они относятся к кнопкам, но из-за чего они появляются мне непонятно.