AicsKnowledgeBase_client/AicsKnowledgeBase/qml/component/NoteList.qml

116 lines
4.3 KiB
QML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import QtQuick 2.15
import QtQuick.Layouts
import FluentUI
import "qrc:///AicsKnowledgeBase/qml/global"
Item {
anchors.fill: parent
signal open(string note, string authorId)
signal createNote
width: parent.width - 8
property ListModel noteListModel: ListModel {
ListElement {
uuid: "1"
title: "超级无敌报错"
brief: "file:///D:/academic/2023-qtBig/AicsKnowledgeBase_client/AicsKnowledgeBase/qml/component/NoteList.qml:41:21: Unable to assign [undefined] to QString"
author: "admin"
authorId: "345"
pageView: 123
stars: 27
date: "2022-02-02"
}
ListElement {
uuid: "2"
title: "Qt布局"
brief: "锚定anchors在确定父子组件之间同级组件之间的相对位置时非常常用若使用锚定方式确定子组件与父组件之间的位置关系使用 topbottomleftright topMarginbottomMarginleftMarginrightMargin进行上下左右对齐以及对齐后的留白距离。若要使子组件在父组件的水平垂直居中使用"
author: "超级无敌长的账户名"
authorId: "345"
pageView: 123
stars: 27
date: "2022-02-02"
}
ListElement {
uuid: "2"
title: "Qt布局"
brief: "锚定anchors在确定父子组件之间同级组件之间的相对位置时非常常用若使用锚定方式确定子组件与父组件之间的位置关系使用 topbottomleftright topMarginbottomMarginleftMarginrightMargin进行上下左右对齐以及对齐后的留白距离。若要使子组件在父组件的水平垂直居中使用"
author: "超级无敌长的账户名"
authorId: "345"
pageView: 123
stars: 27
date: "2022-02-02"
}
ListElement {
uuid: "2"
title: "Qt布局"
brief: "锚定anchors在确定父子组件之间同级组件之间的相对位置时非常常用若使用锚定方式确定子组件与父组件之间的位置关系使用 topbottomleftright topMarginbottomMarginleftMarginrightMargin进行上下左右对齐以及对齐后的留白距离。若要使子组件在父组件的水平垂直居中使用"
author: "超级无敌长的账户名"
authorId: "345"
pageView: 123
stars: 27
date: "2022-02-02"
}
}
ListView {
id: listView
anchors.fill: parent
spacing: 8
header: noteListItemHeader
model: noteListModel
delegate: noteListItemDelegate
}
Component {
id: noteListItemHeader
Item {
id: noteListItemHeaderItem
width: ListView.view.width
height: 48
RowLayout {
width: parent.width
FluText {
text: "笔记列表"
font.pixelSize: 18
font.bold: true
}
FluButton {
id: createNoteButton
text: "新建笔记"
Layout.alignment: Qt.AlignRight
onClicked: {
createNote()
}
}
}
}
}
Component {
id: noteListItemDelegate
Rectangle {
id: noteListItemRect
width: ListView.view.width
height: 150
MouseArea {
anchors.fill: parent
onClicked: {
open(model.uuid, model.authorId)
}
}
NoteListItem {
id: noteListItem
uuid: model.uuid
width: parent.width
height: parent.height
title: model.title
date: model.date
brief: model.brief
pageView: model.pageView
author: model.author
authorId: model.authorId
stars: model.stars
}
}
}
function setListModel(listModel) {
listView.model = listModel
}
}