Вопрос не связан с linux.
И так. Есть задача:
есть список файлов, требуется вывести этот список в два представления:
1 - QTreeView
2 - QML ListView
Так же считается, что файлы звуковые, не пересекаются во времени.
В дерево отображается имя, дата создания, длительность. В QML вся область считается временной и на нее отображается наличие файла в определенном времени (просто прямоугольниками - timeline).
К решению данной проблемы я подошел следующим образом. Вначале создаю свою модель, наследуясь от QAbstractTableModel. В модели переопределяю
explicit FileManager(QDir currentDir, QObject *parent = 0);
int rowCount(const QModelIndex &parent = QModelIndex()) const;
int columnCount(const QModelIndex &parent = QModelIndex()) const ;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
QVariant headerData(int section, Qt::Orientation orientation, int role) const;
QFileInfo fileInfo(const QModelIndex &index) const ;
QHash<int, QByteArray> roleNames() const;
ListView {
id: listView1
interactive: false
orientation: ListView.Horizontal
anchors.fill: parent
anchors.topMargin: beginTimeText.height
delegate:
Item{
Row {
Rectangle {
height: listView1.height
color: colorq
x: allocateX
width: allocateWidth
}
}
}
model: fileModel
}
Внимание вопросы:
1) как исправить и в чем ошибка?
2) как сделать общий выбор? А точнее, когда выбираю файл в дереве, он выделялся (менялся цвет прямоугольника) в QML
3) как обновить представление QML при изменении модели?