QML Layout的布局笔记

GridLayout的使用例子

import QtQuick 2.0
import QtQuick.Controls 2.1
import QtQuick.Layouts 1.3
import QtQuick.Dialogs 1.2

Rectangle {
    id: taskPage
    signal  taskAdd(string taskProcess)

    GridLayout{
        anchors.fill: parent //对整个组件布局,需要充满它,否则GridLayout默认是不充满的
        rows: 3
        columns: 6

        Label {
            id: labelTask
            text: "任务程序"
            anchors.verticalCenter: btnBrowser.verticalCenter
            Layout.rowSpan: 1
            Layout.columnSpan: 2
        }
        TextField {
            id: edit
            Layout.fillWidth: true //自动扩展,相当于QWidget的Expanding
            Layout.rowSpan: 1
            Layout.columnSpan: 2
        }
        Button {
            id: btnBrowser
            text: "浏览"
            Layout.rowSpan: 1
            Layout.columnSpan: 2
            onClicked: {
                fileDialog.visible = true;
            }
        }

        Label {
            text: "请选择要添加的任务程序(*.bat 或 *.exe)"
            Layout.rowSpan: 1
            Layout.columnSpan: 6
        }

        Button {
            id: btnBack
            Layout.fillWidth: true
            text: "返回"
            Layout.rowSpan: 1
            Layout.columnSpan: 3
        }
        Button {
            id: btnAdd
            Layout.fillWidth: true
            text: "添加"
            Layout.rowSpan: 1
            Layout.columnSpan: 3
            onClicked: {
                taskPage.taskAdd(edit.text)
            }
        }
    }

    FileDialog {
        id: fileDialog
        title: "Please choose a file"
        folder: shortcuts.home
        onAccepted: {
            edit.text = fileDialog.fileUrl;
            visible: false
        }
        onRejected: {
            visible: false
        }
        Component.onCompleted: visible = false
    }
}

运行结果





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值