Как переместить существующий контрол в другое окно

158
19 февраля 2022, 14:40

Задача - показать контрол в полноэкранном режиме. Решил создавать полноэкранное окно перемещать туда контрол, а при закрытии этого окна возвращать контрол на место. Создается окно вот так:

 function toogleFullScreen() {
    var screenComponent = Qt.createComponent("FullScreenWindow.qml");
    var screen = screenComponent.createObject(root);
    view.parent = screen;  // ошибка Cannot assign QObject* to QQuickItem*
    screen.show();
} 

Новый родитель не устанавливается, пишет ошибку:

Cannot assign QObject* to QQuickItem*

Подскажите как делать правильно.

Answer 1

Правильно, использовать свойство contentItem родителя, вот так:

function toogleFullScreen() 
{
   var screenComponent = Qt.createComponent("FullScreenWindow.qml");
   var screen = screenComponent.createObject(root);
   view.parent = screen.contentItem;
   screen.show();
}
READ ALSO
Как подкючить библиотеку [muParser] к Qt?

Как подкючить библиотеку [muParser] к Qt?

Мне нужно будет подключить библиотеку muParser (GitHub) к Qt Creator

101
Не удается подключиться к бд

Не удается подключиться к бд

Пишу в LinuxНеобходимо подключиться к Access бд,но Qtговорит что нет такого драйвера QODBC, хотя в предложенных он имеется

213
Найти кратчайший путь [закрыт]

Найти кратчайший путь [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

81
Вывести содержимое массива улиткой в данном порядке (может быть четным и нечетным)

Вывести содержимое массива улиткой в данном порядке (может быть четным и нечетным)

Массив может быть четным и нечетным, но всегда квадратным, вывести необходимо в данном порядке, как изображено на изображении))

85