Я теперь о QWidget :: createWindowContainer (view, this), но я не знаю, как избавиться от свойства "window" в моем файле QML внутри WaylandOutput, ведьма создает новое окно. Как я могу интегрировать окно QML со своим композитором в обычный виджет qt.
Item {
id: item1
WaylandCompositor {
WaylandOutput {
sizeFollowsWindow: true
window: Window {
color: "green"
id: win
title: "svoloch"
width: 700
height: 700
visible: true
Repeater {
model: shellSurfaces
ShellSurfaceItem {
onSurfaceDestroyed: shellSurfaces.remove(index)
shellSurface: shSurface
WaylandHardwareLayer {
stackingLevel: level
Component.onCompleted: console.log("Added hardware layer with stacking level", stackingLevel);
}
Component.onCompleted: console.log("Added wayland quick item");
}
}
}
}
ListModel { id: shellSurfaces }
XdgShell { onToplevelCreated: addShellSurface(xdgSurface) }
XdgShellV6 { onToplevelCreated: addShellSurface(xdgSurface) }
WlShell { onWlShellSurfaceCreated: addShellSurface(shellSurface) }
}
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QQuickWidget * quick_widget = new QQuickWidget(this) ;
quick_widget->setSource(QUrl("qrc:/main.qml"));
ui->verticalLayout->addWidget(quick_widget);
}
[enter image description here][1]
[1]: https://i.stack.imgur.com/oORlT.png