0

QML アプリのダイアログに画像が表示されています。後で onClicked を使用してその画像を変更できるようにしたいと考えています。これを関数に渡し、新しいソース URL に必要な変数が次のいずれかであるかどうかを確認します。それらが欲しい。

Image.source = "NEWURL" を使用するだけで試しましたが、これはうまくいきません。また、画像が含まれているコンポーネントのIDと、次のようなダイアログ: id.source = "neurl" - 行きません。

それ、どうやったら出来るの?

編集: コードを追加しました。関数と listitm の両方でクリックしていました。画像は Web 画像であり、url 内に conncectedUser 値 (ユーザー名) が必要です。

関連するすべてのコードは次のとおりです。

// Check if users is really a user, and if; show skin
function checkCurrentUser(currentUser) {
    console.debug('Debug: Check user "'+currentUser+'" if actually a user.')

    if (currentUser == "Ingen online") {
        currentUser = "Notch" // reset currentUser if pushed earlier
        console.debug('Debug: It was not a real user. Showing '+currentUser+' instead')
        Image.source = "http://blabla"+currentUser+"yesyes"
    }
    else {
        console.debug('Debug: It was a real user.')
        Image.source = "http://blabla"+currentUser+"yesyes"
    }
    return "http://blabla"+currentUser+"yesyes""
}

            // the dialog I want to show with a image
            Component {
                 id: userDialog
                 Dialog {
                     id: dialogueUser
                     title: i18n.tr("Image")
                     Image {
                         id: usersSkin
                         fillMode: Image.PreserveAspectFit
                         source: "URL"
                         sourceSize.height: 1200
                     }

                     Button {
                         text: i18n.tr("Close")
                         color: "red"
                         onClicked: PopupUtils.close(dialogueUser)
                     }
                 }
                }

     // and then the list containting each link, which on click should show the user image
     ListView {
                    id: userList
                    width: parent.width
                    height: units.gu(5)
                    model: msmData
                    delegate: ListItem.Standard {
                        text: connectedUser
                        onClicked: {
                            console.debug('Debug: User clicked "'+connectedUser+'"')
                            checkCurrentUser(connectedUser)
                            PopupUtils.open(userDialog, userList)
                        }
                    }
                    header: ListItem.Header { text: i18n.tr("Connected Users") }
                    section.property: "type"
                    section.criteria: ViewSection.FullString
                    section.delegate: ListItem.Header { text: i18n.tr(section) }
                }
4

2 に答える 2

0

私が最終的に行ったのは、画像 URL の変数をリセットしてから、ダイアログを表示することでした。現在働いています。

于 2013-06-04T14:35:05.627 に答える