FolderListModel



  • Добрый день.
    Использую в проекте FolderListModel. Ничего сложного, обычный просмотр определёной директории, как в примере "http://doc.qt.nokia.com/stable/qml-folderlistmodel.html". При записи файла, обновлений не происходит, при вызове метода "refrech",при переходе по директории и обратно без изменений.
    Заранее благоларен.



  • Оказываеться всё проще простого. Открыл пример "dirview". Немного приглянувшись и проделав некоторые манипуляции с файлами и папками при запущеном примере убедился, что информация постоянно обновляеться.
    Залез в справку, а именно "QML VisualDataModel Element" и скопировал последний пример.
    Сделал некоторые манипуляции с исходниками:
    @
    main.cpp

    #include <QtGui>
    #include <QtCore>
    #include <QtDeclarative>
    #include "qmlapplicationviewer.h"

    int main(int argc, char *argv[])
    {
    QApplication app(argc, argv);

    QFileSystemModel model;
    model.setRootPath("");
    
    QmlApplicationViewer viewer;
    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
    viewer.rootContext()->setContextProperty("dirModel", &model);
    viewer.setMainQmlFile&#40;QLatin1String("qml/untitled/main.qml"&#41;);
    viewer.showExpanded();
    
    return app.exec();
    

    }

    main.qml

    import QtQuick 1.0

    Rectangle{
    id: main
    width: 300
    height: 400

    ListView {
        id: view
        width: 300
        height: 327
    
        model: VisualDataModel {
            model: dirModel
    
            delegate: Rectangle {
                width: 200; height: 25
                Text { text: filePath }
    
                MouseArea {
                    anchors.fill: parent
                    onClicked: {
                        if (model.hasModelChildren)
                            view.model.rootIndex = view.model.modelIndex(index)
                    }
                }
            }
        }
    

    }

    Rectangle {
    id: rectangle1
    x: 0
    y: 354
    width: 300
    height: 46
    color: "#a84e4e"

    MouseArea {
        id: mouse_area1
        anchors.fill: parent
        onClicked: view.model.refresh
    }
    

    }
    }
    @

    Нажал на кнопку и получил "ожидаемый" результат.
    Далее, дело фантазии.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.