QWidget界面和QML窗口相互嵌套都是需要借助 quickwidgets 这个模块中的类
我这里使用的是QQuickWidget,这个类是继承QWidget的,就和 QWidget 一样使用就行
使用布局控制 控件 的位置
1. C++代码
#include
#include
#include
#include
#include
int main(int argc, char *argv[])
{
// QApplication::setAttribute(Qt::AA_UseSoftwareOpenGL);
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication app(argc, argv);
QWidget * widget = new QWidget;
widget->setWindowTitle("widget 主窗口");
widget->resize(800, 400);
// 设置布局
QHBoxLayout * layout = new QHBoxLayout;
layout->setContentsMargins(0, 0, 0 ,0);
widget->setLayout(layout);
// qml 界面 嵌入到 widget
QQuickWidget qmlWidget(QUrl("qrc:/main.qml"));
qmlWidget.setResizeMode(QQuickWidget::SizeRootObjectToView );