QML学习笔记(五)— 做一个简单的待做事项列表

做一个简单的QML待做事项列表,能够动态添加和删除和编辑数据

GitHub:八至

作者:狐狸家的鱼

本文链接:QML学习笔记(五)— 做一个待做事项列表

主要用到QML:ListView

效果

全部代码

TodoList.qml

/*
  date:20181221
  author:狐狸家的鱼
*/
import QtQuick 2.7
import QtQuick.Controls 2.2
import QtQuick.Layouts 1.3
ColumnLayout{
    Frame{
        Layout.fillWidth: true

        ListView{
            implicitWidth: 250
            implicitHeight: 250
            clip: true

            model: ListModel{
                id:model
                ListElement{
                    done:true
                    description:"water the flowers"
                }
                ListElement{
                    done:false
                    description:"Do yoga"
                }
                ListElement{
                    done:false
                    description:"Blogging"
                }
            }

            delegate: RowLayout{
                width: parent.width
                Text{
                    text: "Step" + "" + (index+1);
                }

                CheckBox{
                    checked: model.done
                    onClicked: {
                        model.done = checked
                    }
                }
                TextField{
                    text: model.description
                    onEditingFinished: model.description = text
                    Layout.fillWidth: true

                }
//                TextEdit{
//                    text: model.description
//                    onEditingFinished: model.description = text
//                    Layout.fillWidth: true
//                }
//                TextInput{
//                    text: model.description
//                    onEditingFinished: model.description = text
//                    Layout.fillWidth: true
//                }

            }
        }

    }
    RowLayout{
        Button{
            Layout.fillWidth: true
            text: 'AddItem'
            onClicked: model.append({done:false,description:""})
        }
        Button{
            Layout.fillWidth: true
            text: 'DeleteItem'
            onClicked: model.remove(ListView.currentIndex)
        }
    }
}

main.qml

/*
  date:20181221
  author:狐狸家的鱼
*/
import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Layouts 1.3
Window {
    visible: true
    width: 400
    height: 400
    title: qsTr("Hello World")

    TodoList{
        Layout.fillWidth: true;
        anchors.horizontalCenter: parent.horizontalCenter
        anchors.verticalCenter: parent.verticalCenter
    }

}

 

转载于:https://www.cnblogs.com/suRimn/p/10155524.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值