QMLの基礎 - カスタムQMLタイプ

2022年12月24日 (土) 21:04時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == 設計者は、既存のQMLタイプを使用して、独自の機能を追加したカスタムQMLタイプを作成することができる。<br> <br><br> == カスタムQMLタイプの作成 == # Qt Creatorを起動して、[ファイル]メニューバー - [New File...]を選択する。 # 次に、[New File]ダイアログの左ペインにある[Qt] - 右ペインにある[QMLファイル(Qt Quick 2)]を選択する。 # 作成するQMLファ…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

概要

設計者は、既存のQMLタイプを使用して、独自の機能を追加したカスタムQMLタイプを作成することができる。


カスタムQMLタイプの作成

  1. Qt Creatorを起動して、[ファイル]メニューバー - [New File...]を選択する。
  2. 次に、[New File]ダイアログの左ペインにある[Qt] - 右ペインにある[QMLファイル(Qt Quick 2)]を選択する。
  3. 作成するQMLファイル名を入力して、[次へ]ボタンを押下する。
  4. [プロジェクト管理]画面にある[完了]ボタンを押下する。


QMLファイル名には、英数字や_(アンダーバー)が使用できる。
ただし、ファイル名の1文字目は大文字のアルファベットで始まる必要がある。

もし、カスタムQMLファイルがQtプロジェクトのトップディレクトリと異なるディレクトリに存在する場合、該当ディレクトリをimportする必要がある。

 import "<カスタムQMLファイルが存在するディレクトリの相対パスまたは絶対パス>"


カスタムQMLファイルがQtプロジェクトのトップディレクトリに存在する場合は省略できる。


サンプルコード 1

以下の例では、押下するたびに乱数を発生させて、テキストに乱数値を表示するカスタムQMLタイプを作成および使用している。
なお、カスタムQMLファイル名は"CustomItem.qml"として、Qtプロジェクトのトップディレクトリに配置している。

 // CustomItem.qmlファイル
 
 import QtQuick 2.15
 import QtQuick.Controls 2.15
 
 Row {
    Button {
       id: btn
       text: "Click"
       function onClicked() {
          textvalue.text = Math.random()
       }
    }
 
    Text {
       id: textvalue
       text: "0"
    }
 }


 // main.qmlファイル
 
 import QtQuick 2.15
 import QtQuick.Window 2.15
 
 Window {
    visible: true
    width: 640
    height: 480
 
    Column {
       CustomItem {
          height: 50
       }
 
       CustomItem {
          height: 50
       }
 
       CustomItem {
          height: 50
       }
    }
 }