C++ 如何将qml文件集成到qt widgets应用程序中?

C++ 如何将qml文件集成到qt widgets应用程序中?,c++,qt,qt-quick,C++,Qt,Qt Quick,我有一个QtWidgets应用程序。我想将开关控件添加到表单中。 我在我的表单QDecrative小部件中添加了这一行,并将其添加到代码中,但没有显示任何内容 ui->declarativeView->setSource(QUrl::fromLocalFile("test.qml")); 这是我添加到参考资料中的qml文件的内容 它显示在qtcreator的resources/[project_name.qrc]/test.qml下 import QtQuick 2.4 impor

我有一个QtWidgets应用程序。我想将开关控件添加到表单中。 我在我的表单QDecrative小部件中添加了这一行,并将其添加到代码中,但没有显示任何内容

ui->declarativeView->setSource(QUrl::fromLocalFile("test.qml"));
这是我添加到参考资料中的qml文件的内容 它显示在qtcreator的resources/[project_name.qrc]/test.qml下

import QtQuick 2.4
import QtQuick.Controls 1.3
Button{
  text:aaaa
}
我添加了pro文件:qt+=声明性

我做错了什么

我正在使用Qt5.4.1 QtCreator 3.3.1。

1。QdeCrativeView适用于较旧的Qt版本。如果您正在将一个应用程序移植到Qt5,那么您可以参考以下内容

二,。对于您的应用程序,您可以使用Qt5.xQuickView中的新类,如下所示

在ui中创建布局。或者通过代码来实现。然后将视图添加到布局中,如下所示:

QQuickView *view = new QQuickView();
QWidget *container = QWidget::createWindowContainer(view, this);
container->setMinimumSize(300, 200);
container->setMaximumSize(300, 200);

view->setSource(QUrl("qrc:/test.qml")); // Fetch this url by right clicking on your resource file.
ui->verticalLayout->addWidget(container);
三,。在.pro文件中,只需添加快速模块:

+quick
四,。参考:

五,。注意:如果您必须向资源文件添加url,则必须使用:/refer以获取更多详细信息。

1。QdeCrativeView适用于较旧的Qt版本。如果您正在将一个应用程序移植到Qt5,那么您可以参考以下内容

二,。对于您的应用程序,您可以使用Qt5.xQuickView中的新类,如下所示

在ui中创建布局。或者通过代码来实现。然后将视图添加到布局中,如下所示:

QQuickView *view = new QQuickView();
QWidget *container = QWidget::createWindowContainer(view, this);
container->setMinimumSize(300, 200);
container->setMaximumSize(300, 200);

view->setSource(QUrl("qrc:/test.qml")); // Fetch this url by right clicking on your resource file.
ui->verticalLayout->addWidget(container);
三,。在.pro文件中,只需添加快速模块:

+quick
四,。参考:


五,。注意:如果您必须向资源文件添加url,则必须使用:/refer了解更多详细信息。

您使用的是什么版本的Qt?@techneaz我使用的是Qt 5.4.1 QtCreator 3.3.1。您使用的是什么版本的Qt?@techneaz我使用的是Qt 5.4.1 QtCreator 3.3.1。设置最小/最大大小似乎没有意义,我们可以从QML文件中得到类似大小的提示吗?设置最小/最大大小似乎没有意义,我们可以从QML文件中得到类似大小的提示吗?