我正在使用Qt Quick和PySide2开发一个仪表板应用程序,在Qt Creator的设计模式下公开QML组件时遇到了问题。在
我的文件夹结构如下所示:
myapp/
├── mycomponents
│ ├── component1.qml
│ └── component2.qml
│ └── etc..
├── pages
│ ├── page1.qml
│ └── page2.qml
└── app.qml
我可以使用myapp/mycomponents
中的所有组件,方法是使用相对路径导入相应的.qml文件或其父目录:
问题是,当我在Qt Creator-->Design中打开page.qml
(或同级目录中的任何其他.QML文件)时,我无法在My QML components选项卡中看到来自myapp/components
的组件。在
所有组件可用于附录qml在
但在page1.qml中没有
如何在不更改项目的文件夹结构的情况下将myapp/components
公开到位于同级目录中的.qml文件?
编辑1:
我已经读过docs关于designer.metainfo
的文章,但它们似乎都提到了插件应用程序,而我没有。所以我很难让这些应用程序适合我的用例。在
设计器只显示来自当前目录或来自已使用导入的组件(可以是一个c++插件,但也可以使用一些qml组件的qmldir)。 因此,您必须创建一个导入并以某种方式将其添加到加载的项目中-不确定pyside使用什么,但是也许创建一个myapp.qml项目所有你需要的qml文件和内部文件:
然后在mycomponents目录中,需要一个qmldir文件
^{pr2}$此外,还需要包含该文件的designer目录mycomponents.metainfo在
不幸的是,您必须关闭并重新打开项目才能看到结果。在
我准备了一个小例子here
相关问题 更多 >
编程相关推荐