私は最初のQtQuickアプリケーションを作成していますが、他の環境で単純なことを行うのに多くの問題があります。フォルダからランダムにn枚の画像を表示したい。この目的でFolderListModelを使用していますが、問題は、ファイルのリストに直接アクセスするためのメソッドが表示されないことです。だからここに私のハックなアプローチがあります:
- FolderListModelを使用してファイルを読み取る
- テキストコンポーネントをデリゲートとして使用する
- テキストコンポーネントのonTextChangedはファイル名を取得し(この部分は機能します)、それをいくつかのListModelに追加します
- ListModelをランダム化し、それを使用してファイルを表示します
多くの問題や質問がありますが、まず、これを行うための正しい方法は何ですか(リスト部分をC ++で記述する必要がないようにしてください)。
今のところ2つの問題があります-TextコンポーネントからListModelにアクセスする方法がわかりません。また、画像を表示する別のコンポーネントからListModelをパブリック/アクセス可能にする方法がわかりません。
以下はコードです:
import QtQuick 1.0
import Qt.labs.folderlistmodel 1.0
ListView {
width: 200; height: 300
FolderListModel {
folder: "file:///C:/somefolder"
id: folderModel
nameFilters: ["*.jpg"]
}
Component {
id: fileDelegate
Text { id: intext
text: fileName
//the next line fails, Can't find variable: anotherModel
onTextChanged: anotherModel.append([{name: intext.text}]
)
}
}
model: folderModel
delegate: fileDelegate
ListModel {
id: anotherModel
}
}