QML嵌入到QWidget中方法

简介

嵌入方法有两种一种是直接拖控件,另一种是cpp代码动态生成,

控件方式

QML嵌入到QWidget中方法_第1张图片

动态代码生成

    QQuickWidget *m_quickWidget=new QQuickWidget();
    QUrl source("qrc:/ui/dynamic.qml");
    m_quickWidget->setResizeMode(QQuickWidget::SizeRootObjectToView );
    m_quickWidget->setSource(source);
    ui->dynamicQmlEmber->addWidget(m_quickWidget);

注意

编译过程可能出现无法解析的外部符号或者找不到quickwidgets插件的错误,在pro文件中添加
QT += quickwidgets 就好了

效果图

QML嵌入到QWidget中方法_第2张图片

工程下载地址

qmlwithqwidget

弃用方式

  QQuickView view;
   view.setSource(QUrl("qrc:///main.qml"));
   QWidget *container = QWidget::createWindowContainer(&view);

   QHBoxLayout *layout = new QHBoxLayout;
   layout->setSpacing(10);
   layout->setAlignment(Qt::AlignHCenter);
   layout->setContentsMargins(1, 1, 1, 1);
   parent->setStyleSheet("background:QColor(200,100,150);");

   layout->addWidget(container);

   parent->setLayout(layout);

你可能感兴趣的:(Qt,Qt学习笔记)