如何在 QML 中注册 QSerialPort?

Posted

技术标签:

【中文标题】如何在 QML 中注册 QSerialPort?【英文标题】:How do I register QSerialPort in QML? 【发布时间】:2015-08-04 10:01:55 【问题描述】:

我想将QSerialPort 注册为QML 中的不可实例化类型,以便我可以使用QSerialPort 的ENUM。

我尝试在我的main.cpp 中注册QSerialPort

 qmlRegisterType<QSerialPort>("com.myProject", 1, 0, "serialPort")

我收到以下错误:

/Users/user/qt/5.4/clang_64/lib/QtQml.framework/Headers/qqml.h:234:错误:在嵌套名称说明符中命名的类型“QSerialPort”不完整 QML_GETTYPENAMES ^~~~~~~~~~~~~~~~

任何提示表示赞赏!谢谢。

【问题讨论】:

#include &lt;QSerialPort&gt;了吗? 确实,我忘了包括 QSerialPort.... 谢谢! 【参考方案1】:

包括#include &lt;QtSerialPort/QSerialPort&gt; 并且不要忘记在.pro 文件中添加serialport

QT += serialport

对我来说很好。

【讨论】:

以上是关于如何在 QML 中注册 QSerialPort?的主要内容,如果未能解决你的问题,请参考以下文章

QML/Javascript 中的 QVector

如何通过 Q_PROPERTY 向 QML 公开指向 Q_GADGET 的指针

如何知道 QSerialPort 何时准备好接收 Qt5 中的更多数据?

Qt:如何在 C++ 端而不是 QML 上监视 Q_PROPERTY 更改

在QML中显示FPS

如何在 QML 中创建 PyQT 注册类型的动态实例