【问题标题】:Qml context object is null on app shutdownQml 上下文对象在应用程序关闭时为空
【发布时间】:2021-08-10 08:52:10
【问题描述】:

这是我的代码。 每次退出应用程序时,我都会在控制台中收到这些错误。 属性在执行期间工作得很好,但我每次都会收到这个烦人的警告。

qrc:/search.qml:17:TypeError:无法读取 null 的属性“isConnected”
qrc:/search.qml:18: TypeError: 无法读取 null 的属性“scanStatus”
qrc:/search.qml:19: TypeError: Cannot read property 'device' of null

#main.cpp

Utility u;
view->rootContext()->setContextProperty("utility", &u);
#search.qml

property bool connected : utility.isConnected
property bool scanRunning : utility.scanStatus
property var searchedDevice : utility.device

【问题讨论】:

    标签: c++ qt qml


    【解决方案1】:

    确保您的 Utility 对象在 QML 引擎之后没有被破坏:如果两者都在堆栈上创建,则在引擎之前创建它。 使用此解决方案无需检查utility 是否为空。

    【讨论】:

      【解决方案2】:

      您必须验证utility 不为空:

      property bool connected : utility ? utility.isConnected : false
      property bool scanRunning : utility ? utility.scanStatus : false
      property var searchedDevice : utility ? utility.device : null
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-27
        • 2014-04-10
        • 1970-01-01
        • 1970-01-01
        • 2023-03-25
        • 1970-01-01
        • 1970-01-01
        • 2017-07-27
        相关资源
        最近更新 更多