diff --git a/CMakeLists.txt b/CMakeLists.txt
index a223e41..c0d4e1d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,6 +17,8 @@ qt_add_qml_module(appESP32_upper
VERSION 1.0
QML_FILES
Main.qml
+ QML/pages/HomePage.qml
+ QML_FILES QML/models/TestModels.qml
)
# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
diff --git a/Main.qml b/Main.qml
index 41424f8..2e9aeab 100644
--- a/Main.qml
+++ b/Main.qml
@@ -1,8 +1,15 @@
import QtQuick
+import QtQuick.Window
+import ESP32_upper 1.0
Window {
- width: 640
- height: 480
+ width: 1300
+ height: 750
visible: true
title: qsTr("Hello World")
+
+ HomePage {
+ id: id_home_page
+
+ }
}
diff --git a/QML/models/TestModels.qml b/QML/models/TestModels.qml
new file mode 100644
index 0000000..d82818e
--- /dev/null
+++ b/QML/models/TestModels.qml
@@ -0,0 +1,48 @@
+import QtQuick 2.15
+
+ListModel {
+ ListElement {
+ name: "Bill Smith"
+ number: "555 3264"
+ }
+ ListElement {
+ name: "John Brown"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ }
diff --git a/QML/pages/HomePage.qml b/QML/pages/HomePage.qml
new file mode 100644
index 0000000..9ea2193
--- /dev/null
+++ b/QML/pages/HomePage.qml
@@ -0,0 +1,67 @@
+import QtQuick 2.15
+import QtQuick.Controls
+import QtQuick.Layouts
+import ESP32_upper 1.0
+
+Item {
+ id: root
+
+ Rectangle {
+ width: 180
+ height: Window.height
+ color: "green"
+
+ Component {
+ id: contactDelegate
+ // property int my_index: index
+ Rectangle {
+ width: 150; height: 60
+ anchors.left: parent.left // 靠父组件左边
+ anchors.leftMargin: 15 // 左边距20像素
+ radius: 5
+ MouseArea {
+ id: mouseArea
+ anchors.fill: parent
+ hoverEnabled: true
+ onClicked: {
+ // id_view.view.currentIndex = id_view.view.
+ console.log("Clicked on", name)
+
+ }
+ onEntered: {
+ parent.color = "red"
+ }
+ onExited: {
+ parent.color = "white"
+ }
+ }
+ Column {
+ Text { text: 'Name: ' + name }
+ Text { text: 'Number: ' + number }
+
+ }
+
+ }
+
+ }
+ MouseArea {
+ anchors.fill: parent
+ onWheel: (wheel) => {
+ wheel.accepted = true; // 处理滚轮事件并阻止事件传递
+ id_view.contentY += wheel.angleDelta.y / 120 * 10; // 根据滚轮的滚动方向和量来滚动 ListView
+ }
+ ListView {
+ id: id_view
+ spacing: 10
+ anchors.fill: parent
+ model: TestModels {}
+ delegate: contactDelegate
+ // highlight: Rectangle { color: "lightsteelblue"; radius: 2 }
+ // focus: true
+ }
+ }
+
+
+ }
+
+}