-
Notifications
You must be signed in to change notification settings - Fork 0
/
Test1.qml
130 lines (126 loc) · 3.82 KB
/
Test1.qml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
import QtQuick 2.0
import QtQuick.Controls 2.1
import Business 1.0
Rectangle {
property bool refreshFlag: false
Business{
id:business
}
Rectangle{
width: parent.width
height: -view.contentY
color: "cyan"
Label{
anchors.centerIn: parent
text:"下拉刷新"
visible: view.contentYr
}
}
BusyIndicator{
id:busy
z:4
running: false
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: parent.top
anchors.topMargin: parent.height/3.
Timer{
interval: 2000
running: busy.running
onTriggered: {
busy.running = false
}
}
}
Component {
id: dragDelegate
Rectangle {
color: "#F5F5DC"
id: content
anchors { left: parent.left; right: parent.right }
height: column.implicitHeight +25
border.color: "#FFFFF0"
border.width: 2
Row{
spacing: 5
Rectangle{
radius: 5
anchors.leftMargin: 5
width: content.width/4
height: content.height
Image {
source: model.modelData.image
width: parent.width
height: parent.height
}
}
Rectangle{
width: content.width/4*3
height: content.height
Column {
spacing: 8
id: column
anchors { fill: parent; margins: 2 }
Text {
text: model.modelData.name
font.pixelSize: 18
font.bold: true
}
Row{
Text { text:'☆ 4.3 ';font.pixelSize: 13}
Text { text: '月售' + '1234'+" " ;font.pixelSize: 13}
Text { text: '30'+'分钟'+" ";font.pixelSize: 13}
Text { text: '1.5'+'km';font.pixelSize: 13}
}
Rectangle{
width: parent.width/2
height: parent.height/4
color: "#ffff7f"
border.color: "#e6fde4"
Text {
anchors.centerIn: parent
text:model.modelData.info
font.bold: true
color: "#00ff53"
font.pixelSize: 13
}
}
}
}
}
MouseArea{
anchors.fill: parent
onClicked:{
storePage.push("Test.qml",{businessName:model.modelData.name,businessInfo:model.modelData.info,businessImage:model.modelData.image})
}
}
}
}
Component.onCompleted: {
business.getblist()
}
ListView {
id: view
anchors { fill: parent; margins: 2 }
delegate: dragDelegate
spacing: 10
cacheBuffer: 50
onContentYChanged: {
if(-contentY > 40){
refreshFlag = true
}
}
onMovementEnded: {
if(refreshFlag){
refreshFlag = false
busy.running = true
}
business.getblist()
}
}
Connections{
target: business
onSignalbList:{
view.model=data;
}
}
}