关于将c++自定义类暴露给qml调用的问题

qq_42701585 2024-08-08 16:49:40

我是基于qgc地面站做二次开发过程中,希望把一个界面类暴露给qml调用。

在MainRootWindow.qml中原本使用了其他的qml模块如

    MainWindowSavedState {
        window: mainWindow
    }

使用的时候qt提示unknown component,但是能正常编译运行。

在main函数中注册自定义类并加载主QML文件时

 engine.load(QUrl(QStringLiteral("/home/jn/qgroundcontrol/src/ui/MainRootWindow.qml")));

执行完会提示 MainWindowSavedState is not a type。在MainRootWindow.qml中正常import了相关模块

import QGroundControl               1.0
import QGroundControl.Palette       1.0
import QGroundControl.Controls      1.0
import QGroundControl.ScreenTools   1.0
import QGroundControl.FlightDisplay 1.0
import QGroundControl.FlightMap     1.0
...全文
142 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

以前稍微做过一点qml,我记得qml要调用c++的类要注册一下的,但也不知道是不是这个问题了

16,560

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧