2017-08-13 2 views
0

1つのqmldirファイルで複数のシングルトンを使用したいが、動作していないようだが、エラーはないがプログラムは起動しない。1つの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(); 
    } 
} 

File2.qml:

pragma Singleton 
import QtQuick 2.7 
import QtQuick.Controls 2.1 
Item{ 
    signal test; 
    onTest:console.log("File2 received signal"); 
} 

File1.qml:

pragma Singleton 
import QtQuick 2.7 
import QtQuick.Controls 2.1 
Item{ 
    signal test; 
    onTest:console.log("File1 received signal"); 
} 

私はqmldirの2行目を削除した場合、コードは動作しますが、あなたのqmldirファイルは、あなたが書かれているとおりにある場合は、File2のは

+1

_複数のシングル_は少し矛盾していますか? – user0042

+0

確かに、上記の例に示すように、リンクqmlファイルを並べ替えて信号を送受信できるようにすると、シングルトンは何を意味するのか分かりませんでしたもし私がそれをすることができない場合、私はそれらをリンクする複数のファイルに適用することができればそれは素晴らしいと思ったので、私は何をすることができます教えてください? –

+2

複数の異なるシングルトンは矛盾していません。 – AlexanderVX

答えて

1

をundifinedされます。

Singleton File1 1.0 File.qml 
Singleton File2 1.0 File2.qml 

エラーとして、その内に存在するかもしれませんキーワードがsingletonで、Singletonではありません。

はそれを試してみてください。

singleton File1 1.0 File.qml 
singleton File2 1.0 File2.qml 

しかし、そのエラーは黙って失敗してはいけません。いくつかのエラーがあるはずです:

[main.qml] a component declaration requires two or three arguments, but 4 were provided
[qmldir] a component declaration requires two or three arguments, but 4 were provided

//main.qml

import QtQuick 2.7 
import QtQuick.Controls 2.0 
import '.' 

ApplicationWindow { 
    id: window  
    width: 800 
    height: 600 
    visible: true  
    Row { 
     spacing: 3 
     Button { 
      text: 'single1' 
      onClicked: Single.sig() 
     } 

     Button { 
      text: 'signle2' 
      onClicked: Single2.sig() 
     } 
    }  
} 

//singleton.qml

pragma Singleton 
import QtQuick 2.0 
QtObject { 
    signal sig 
    onSig: console.log('Singleton1 Received') 
} 

//singleton2.qml

魔法のように

// qmldir

singleton Single 1.0 singleton.qml 
singleton Single2 1.0 singleton2.qml 

作品。

+0

私はそれを書いた、シングルトン –

関連する問題