欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

QML嵌入到QWidget中方法

程序员文章站 2022-03-11 10:52:34
...

简介

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

控件方式

QML嵌入到QWidget中方法

动态代码生成

    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);
  • 1
  • 2
  • 3
  • 4
  • 5

注意

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

效果图

QML嵌入到QWidget中方法

工程下载地址

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);
相关标签: C++ QML widget