Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Japanese
  4. Component.onCompleted内でのシグナル送信はできない?
QtWS25 Last Chance

Component.onCompleted内でのシグナル送信はできない?

Scheduled Pinned Locked Moved Japanese
3 Posts 2 Posters 4.0k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Z Offline
    Z Offline
    zokweiron
    wrote on 29 Aug 2013, 12:41 last edited by
    #1

    Loaderにソースとして設定したオブジェクトが初期化され呼び出されたときに呼び出された
    Component.onCompleted内でシグナル送信を行いConnectionsで受け取ろうとしたところうまく受信できませんでした。
    何が問題なのでしょうか 教えてください!!

    main.qml
    @import QtQuick 2.0

    Rectangle {
    width: 360
    height: 360
    MouseArea {
    anchors.fill: parent
    onClicked: {
    Qt.quit();
    }
    }

    Loader{
        id: loader
        source: "MV.qml"
    
    
    }
    
    Connections{
        target: loader.item
    
        onMessage:{
            console.log("YEEEEEEEEEEEH")
        }
    }
    

    }
    @

    MV.qml
    @import QtQuick 2.0

    Rectangle {
    signal message

    color: "black"
    width: 100
    height: 62
    
    Component.onCompleted: {
        message()
    }
    

    }
    @

    1 Reply Last reply
    0
    • T Offline
      T Offline
      takumiasaki
      wrote on 3 Sept 2013, 13:59 last edited by
      #2

      挙動からの推測ですが、どうも処理の順番が MVの生成 → Component.onCompleted → Loader.item への代入
      と進んでいるようです。
      そのため、Component.onCompleted は実行されていますが、Loader からシグナルを受け取ることが出来ないようです。
      対策として Timer を使用したり、onParentChanged で対応できないかも試してみましたが、うまくいきませんでした。
      MV 側からのアプローチで Component.onCompleted のタイミングでシグナルを Loader 経由で受け取るスマート方法は見つけられませんでした。

      設計的には美しくありませんが、Loader の onItemChanged や onStatusChanged, onLoaded を使う事になりそうです。

      バグ報告もなさそうなのでバグかどうかは不明ですが、処理を考慮するとQt側を修正するのも難しいかもしれません。

      1 Reply Last reply
      0
      • Z Offline
        Z Offline
        zokweiron
        wrote on 3 Sept 2013, 14:18 last edited by
        #3

        リプライありがとうございます。

        そうですか... 次はべつのアプローチで攻めてみようと思います。

        1 Reply Last reply
        0

        1/3

        29 Aug 2013, 12:41

        • Login

        • Login or register to search.
        1 out of 3
        • First post
          1/3
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved