116 lines
4.3 KiB
QML
116 lines
4.3 KiB
QML
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)在确定父子组件之间,同级组件之间的相对位置时非常常用,若使用锚定方式确定子组件与父组件之间的位置关系,使用 top,bottom,left,right, topMargin,bottomMargin,leftMargin,rightMargin进行上下左右对齐,以及对齐后的留白距离。若要使子组件在父组件的水平,垂直居中,使用:"
|
||
author: "超级无敌长的账户名"
|
||
authorId: "345"
|
||
pageView: 123
|
||
stars: 27
|
||
date: "2022-02-02"
|
||
}
|
||
ListElement {
|
||
uuid: "2"
|
||
title: "Qt布局"
|
||
brief: "锚定(anchors)在确定父子组件之间,同级组件之间的相对位置时非常常用,若使用锚定方式确定子组件与父组件之间的位置关系,使用 top,bottom,left,right, topMargin,bottomMargin,leftMargin,rightMargin进行上下左右对齐,以及对齐后的留白距离。若要使子组件在父组件的水平,垂直居中,使用:"
|
||
author: "超级无敌长的账户名"
|
||
authorId: "345"
|
||
pageView: 123
|
||
stars: 27
|
||
date: "2022-02-02"
|
||
}
|
||
ListElement {
|
||
uuid: "2"
|
||
title: "Qt布局"
|
||
brief: "锚定(anchors)在确定父子组件之间,同级组件之间的相对位置时非常常用,若使用锚定方式确定子组件与父组件之间的位置关系,使用 top,bottom,left,right, topMargin,bottomMargin,leftMargin,rightMargin进行上下左右对齐,以及对齐后的留白距离。若要使子组件在父组件的水平,垂直居中,使用:"
|
||
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
|
||
}
|
||
}
|