2016-12-04 2 views
0

У меня есть QQuickView внутри другого виджета, используя createWindowContainer() (см. Изображение ниже). Сцена файл QML из QQuickView выглядит примерно так:размер qml qquickview внутри его оконного контейнера

//import related modules 
import QtQuick 2.3 
import QtQuick.Controls 1.2 
import QtQuick.Window 2.2 
import QtMultimedia 5.6 

Rectangle { 
    width: 200 
    height: 100 
    color: "red" 
    ... 
} 

Я могу видеть объект QML в QQuickView, но то, что я бы очень хотел, чтобы иметь возможность изменить размер QML сцены, чтобы соответствовать контейнер. Я просмотрел различные документы и не нашел способ ссылки на контейнер в кадре QML для правильного изменения размера. Это возможно? Что-то вроде этого?

Rectange { 
    width: Container.width 
    height: Container.height 
} 

QML scene in red

+5

Просто удалите настройку размера и добавьте 'anchors.fill: parent' в' Rectangle'. Другой способ - установить 'view-> setResizeMode (QQuickView :: SizeRootObjectToView); 'в C++. – folibis

+0

Закрепление анкера. Благодарю. Если вы добавите его в качестве ответа, я буду отмечать его правильно. В противном случае я просто добавлю ответ. – voodoogiant

ответ

2

Просто удалите настройки размера и добавьте anchors.fill: родителю в прямоугольник. Другой способ - установить view-> setResizeMode (QQuickView :: SizeRootObjectToView); в C++

Использование решения folibis предусмотрено отлично работает (первый).

Смежные вопросы