📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| (同じ利用者による、間の1版が非表示) | |||
| 129行目: | 129行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
また、読み込んだカスタムQMLタイプがシグナルを送信してそれを呼び出し側が受信する場合、<code>Connections</code>タイプを<code>Loader</code>タイプの<code>item</code>プロパティと一緒に使用する必要がある。<br> | |||
また、読み込んだカスタムQMLタイプが破棄された場合、カスタムQMLタイプが再び生成されるまで、全てのシグナルハンドラは無視される。<br> | |||
<syntaxhighlight lang="qml"> | <syntaxhighlight lang="qml"> | ||
// main.qmlファイル | |||
Loader { | Loader { | ||
id: pageLoader | id: pageLoader | ||
| 140行目: | 143行目: | ||
// Qt 5.14以前の場合 | // Qt 5.14以前の場合 | ||
onMessage: { | |||
pageLoader.source = "" | pageLoader.source = "" | ||
} | } | ||
// Qt 5. | // Qt 5.15以降は、以下に示すシンタックスでも可能 | ||
function | function onMessage() | ||
{ | { | ||
pageLoader.source = "" | pageLoader.source = "" | ||
} | |||
} | |||
</syntaxhighlight> | |||
<br> | |||
<syntaxhighlight lang="qml"> | |||
// CustomQML.qmlファイル | |||
import QtQuick 2.15 | |||
Rectangle { | |||
id: root | |||
width: 100 | |||
height: 100 | |||
signal message(string msg) | |||
MouseArea { | |||
anchors.fill: parent | |||
onClicked: { | |||
root.message("clicked!") | |||
} | |||
} | } | ||
} | } | ||