#qt #qml
Вопрос:
У меня есть приложение, которое невелико по ширине и высоте, я хочу, чтобы при нажатии кнопки отображалось всплывающее окно. Проблема в том, что всплывающее окно больше, чем окно приложения, и когда я его открываю, оно уменьшается и выглядит странно
апп
ПРИЛОЖЕНИЕ С ВСПЛЫВАЮЩИМ ОКНОМ
ВСПЛЫВАЮЩЕЕ СОДЕРЖИМОЕ В КОНСТРУКТОРЕ
Как я могу сделать всплывающее окно независимым от окна приложения, как это:
Или есть ли лучший подход, чем использование всплывающего окна, было бы неплохо, если бы я мог перемещать всплывающее окно/окно. Он все еще должен быть каким-то образом связан с основным приложением, потому что оттуда он получает данные
Ответ №1:
Всплывающее окно в QML отображается в виде слоя поверх родительского окна, поэтому оно не может быть больше родительского окна. Если вам нужно отдельное окно верхнего уровня, вместо этого следует использовать окно или диалоговое окно.
Комментарии:
1.
Dialog
этоPopup
.2. @GrecKo это зависит от того, какой из них вы импортируете.
Ответ №2:
Я с этим разобрался. Я инкапсулировал компонент, который хотел показать в окне, и создал его с помощью Qt.createComponent()
var playListComponent = Qt.createComponent("CustomPlaylist.qml") var window = playListComponent.createObject(rootWindow) window.show()
Корневым элементом CustomPlaylist.qml
является Window