C++ 如何将开关Qml添加到qt小部件?

C++ 如何将开关Qml添加到qt小部件?,c++,qt,qml,qt5,qquickwidget,C++,Qt,Qml,Qt5,Qquickwidget,我有一个qml文件ToggleSwitch.qml,我想将它导入我的小部件。基本上,我想将qml与widget集成 切换开关.qml Switch { checked:true } QQuickWidget *quickWidget = new QQuickWidget; quickWidget->setSource(QUrl("qrc:/Resources/ToggleSwitch.qml")); QVBoxLayout *vBox = new QVBo

我有一个qml文件
ToggleSwitch.qml
,我想将它导入我的小部件。基本上,我想将qml与widget集成

切换开关.qml

Switch  
{  
    checked:true  
} 
QQuickWidget *quickWidget = new QQuickWidget;   
quickWidget->setSource(QUrl("qrc:/Resources/ToggleSwitch.qml"));  
QVBoxLayout *vBox = new QVBoxLayout;  
vBox->addWidget(quickWidget); 
main window.cpp
中,我想做类似的事情

main window.cpp

Switch  
{  
    checked:true  
} 
QQuickWidget *quickWidget = new QQuickWidget;   
quickWidget->setSource(QUrl("qrc:/Resources/ToggleSwitch.qml"));  
QVBoxLayout *vBox = new QVBoxLayout;  
vBox->addWidget(quickWidget); 

我试过上面的代码,但不起作用。它抛出错误未解析的外部符号

要使用
QQuickWidget
您必须添加模块
quickwidgets
,将以下内容添加到.pro中:

QT += quickwidgets
另外,不要忘记包含标题:

#include <QQuickWidget>
#包括
如果您在windows中,则必须使用windowdeployqt获取执行应用程序所需的所有DLL,更多信息请访问以下链接:


要使用
QQuickWidget
您必须添加模块
quickwidgets
,将以下内容添加到.pro:

QT += quickwidgets
另外,不要忘记包含标题:

#include <QQuickWidget>
#包括
如果您在windows中,则必须使用windowdeployqt获取执行应用程序所需的所有DLL,更多信息请访问以下链接:


Error Mainwindow.obj:Error LNK2019:未解析的外部符号“\u declspec(dllimport)public:virtual\u cdecl QQuickWidget::~QQuickWidget(void)”(\u imp??1QQuickWidget@@UEAA@XZ)函数“public:virtual void*u cdecl QQuickWidget::`scalar deleting destructor'(unsigned int)”(??\u GQQuickWidget)中引用@@UEAAPEAXI@Z).qml位于资源文件夹QT+=核心gui qml quick greaterThan(QT_MAJOR_版本,4):QT+=widgets TARGET=Sample TEMPLATE=app DEFINES+=QT\u DEPRECATED\u WARNINGS\DEFINES+=QT\u DISABLE\u DEPRECATED\u BEFORE=0x060000 SOURCES+=\main.cpp\mainwindow.cpp HEADERS+=\mainwindow.h FORMS+=\mainwindow.ui RESOURCES+=\RESOURCES.qrcy您应该找到解决方案基于错误消息。错误Mainwindow.obj:错误LNK2019:未解析的外部符号“\u declspec(dllimport)public:virtual\u cdecl QQuickWidget::~QQuickWidget(void)”(\u imp??1QQuickWidget@@UEAA@XZ)函数“public:virtual void*u cdecl QQuickWidget::`scalar deleting destructor'(unsigned int)”(??\u GQQuickWidget)中引用@@UEAAPEAXI@Z).qml位于资源文件夹QT+=核心gui qml quick greaterThan(QT_MAJOR_版本,4):QT+=widgets TARGET=Sample TEMPLATE=app DEFINES+=QT\u DEPRECATED\u WARNINGS\DEFINES+=QT\u DISABLE\u DEPRECATED\u BEFORE=0x060000 SOURCES+=\main.cpp\mainwindow.cpp HEADERS+=\mainwindow.h FORMS+=\mainwindow.ui RESOURCES+=\RESOURCES.qrcy您应该找到解决方案基于错误消息。添加了,但在qml中我无法导入QtQuick.Controls。它提示我添加QML_导入_PATH@Rubina你的Qt版本是什么?我使用的是Qt5.9。4@Rubina重新安装Qt,当然该属性未正确建立。仍然获取错误文件未找到未解决的外部错误我尝试在不同的PCAdd中获取错误,但在qml中我无法导入QtQuick.Controls。它提示我添加QML_导入_PATH@Rubina你的Qt版本是什么?我使用的是Qt5.9。4@Rubina重新安装Qt,当然该属性未正确建立。仍然获取错误文件未找到未解决的外部错误我在不同的pc中尝试时获取的错误