我有一个qt小部件应用程序。我想将开关控件添加到我的表单中。 我添加到我的表单QDeclarative小部件并将此行添加到代码但没有显示。
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
}
我添加了专业文件:qt + = declarative
我做错了什么?
我使用的是Qt 5.4.1 QtCreator 3.3.1。
答案 0 :(得分:4)
1。 QDeclarativeView
适用于较旧的Qt版本。如果您要将应用程序移植到Qt 5,那么您可以参考此documentation。
2。对于您的应用,您可以使用Qt 5.x QuickView
中的新课程,如下所示。
在你的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);
3. 在.pro
文件中添加快速模块:
+quick
4. 参考:Introducing QWidget::createWindowContainer()
5. 注意:如果您必须在资源文件中添加网址,则必须使用:/
,请参阅here了解详情。