【发布时间】:2017-08-13 19:21:41
【问题描述】:
我想在一个 qmldir 文件中使用多个单例,但它似乎不起作用,我没有错误但程序没有启动。
qmldir:
singleton File1 1.0 File.qml
singleton File2 1.0 File2.qml
主要:
import QtQuick 2.7
import QtQuick.Controls 2.1
import '.'
Window{
visible:true
width:640
height:480
title: qstr("hello world!")
Button{
onCliked: File2.test();
}
}
文件2.qml:
pragma Singleton
import QtQuick 2.7
import QtQuick.Controls 2.1
Item{
signal test;
onTest:console.log("File2 received signal");
}
文件1.qml:
pragma Singleton
import QtQuick 2.7
import QtQuick.Controls 2.1
Item{
signal test;
onTest:console.log("File1 received signal");
}
如果我删除 qmldir 中的第二行,代码就可以工作,但是 File2 将是未定义的
【问题讨论】:
-
Multiple Singletons 有点矛盾,不是吗?
-
确实如此,但是当我寻找一种方法来对链接 qml 文件进行排序以便能够如上例所示相互发送和接收信号时,单例似乎是唯一的解决方案,在不知道单例意味着什么的情况下,我想如果我可以将其应用于多个文件以链接它们会很棒,如果我不能这样做,那么请告诉我我该怎么办?
-
多个不同的单例并不矛盾。
-
所以@AlexanderVX 我该怎么办?
-
如何判断它为什么不启动?调试日志?
标签: javascript c++ qt singleton qml