使用 QML 文档库 (Qt Mobility) 进行过滤

Posted

技术标签:

【中文标题】使用 QML 文档库 (Qt Mobility) 进行过滤【英文标题】:Filtering with QML Document Gallery (Qt Mobility) 【发布时间】:2012-07-20 10:44:22 【问题描述】:

我只想过滤一位艺术家的专辑,但没有显示任何内容。

我的代码是:

SelectArtistPage.qml:

import QtQuick 1.1
import com.nokia.meego 1.0
import QtMobility.gallery 1.1

Page

    id: selectArtistPage
    tools: backtoolbar
    property string selectedartist

    ListView
    
        id: galleryView
        anchors.fill: parent
        clip: true
        model: artistModel
        delegate: Item
        
            height: 60
            width: parent.width
            Button
            
                height: 50
                width: parent.width - 20
                text: (artist != "") ? artist : "(unknown artist)"
                onClicked:
                
                    selectedartist = (text != "(unknown artist)") ? text : ""
                    selectAlbumPageLoader.source = "SelectAlbumPage.qml"
                    pageStack.push(selectAlbumPageLoader.item)
                
            
        
    

    DocumentGalleryModel
    
        id: artistModel
        rootType: DocumentGallery.Artist
        properties: ["artist"]
    

SelectAlbumPage.qml:

import QtQuick 1.1
import com.nokia.meego 1.0
import QtMobility.gallery 1.1

Page

    id: selectAlbumPage
    tools: backtoolbar
    property string selectedalbum

    ListView
    
        id: galleryView
        anchors.fill: parent
        clip: true
        model: albumModel
        delegate: Item
        
            height: 60
            width: parent.width
            Button
            
                height: 50
                width: parent.width - 20
                text: (albumTitle != "") ? albumTitle : "(unknown album)"
                onClicked:
                
                    selectedalbum = (text != "(unknown album)") ? text : ""
                    // here should be launching the last page
                
            
        
    

    DocumentGalleryModel
    
        id: albumModel
        rootType: DocumentGallery.Album
        properties: ["albumTitle", "artist"]
        filter: GalleryEqualsFilter
        
            property: "artist"
            value: selectedartist
        
    

当我在 SelectArtistPage 中选择艺术家时,会打开另一个页面,但不会绘制带有专辑名称的按钮。 如果我删除过滤器,则会显示所有专辑。

我做错了什么?我正在为 Maemo 使用 Qt Mobility 1.2 包(我正在 N900 上进行测试)。

【问题讨论】:

【参考方案1】:

这似乎是 Maemo Qt Mobility 中的一个错误,正如我在这里写的:http://talk.maemo.org/showpost.php?p=1254495&postcount=112

【讨论】:

以上是关于使用 QML 文档库 (Qt Mobility) 进行过滤的主要内容,如果未能解决你的问题,请参考以下文章

Qt Mobility 或 Qt Location 可用于桌面使用?

Qt Documentation

QT Quick (QML) assemble mac-.bundle -> 使用 macdeployqt 时不是动态库错误

Qt小知识 | 用一篇小短文,带你进入 QML 的美妙世界

Qt文档阅读笔记-Qt, QML, Widgets…What Is The Difference?

Qt文档阅读笔记-Qt, QML, Widgets…What Is The Difference?