QML中的GridLayout布局

GridLayout是一个网格布局,真的是无需多说。

来看一个示例;


import QtQuick 2.3
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
import QtQuick.Layouts 1.1

Window {
    visible: true
    Rectangle{
        GridLayout{
            columns: 3
            rows:3

            anchors.fill: parent
            Button{
                id:button1
                text:qsTr("按钮一")
            }
            Button{
                id:button2
                text:qsTr("按钮二")
            }

            Button{
                id:button3
                text:qsTr("按钮三")
            }
            Button{
                id:button4
                text:qsTr("按钮四")
            }
            Button{
                id:button5
                text:qsTr("按钮五")


            }

        }


    }
}


效果图如下;


但是这类唯一要注意的就是这样的代码;

columns:3

rows:3

我对行和列进行了指定,如果你不指定,那么你会发现所有的按钮都在同一行显示了,不仅仅影响美观,而且根本显示不下

QMLGridLayout是一种用于布局的元素。当GridLayout的大小被调整时,布局的所有项目将被重新排列。与基于widget的QGridLayout类似,GridLayout的所有可见子项都属于该布局。如果你只想要一个只有一行或一列的布局,你可以使用RowLayout或ColumnLayout,它们提供了更方便的API,并提高了可读性。例如,以下代码演示了如何使用GridLayout布局两个按钮: ``` import QtQuick 2.0 Item { width: 200 height: 200 GridLayout { columns: 2 rows: 1 spacing: 10 Button { text: "Button 1" } Button { text: "Button 2" } } } ``` 在这个例子GridLayout具有2列和1行,按钮被放置在这个布局,并且有一个间距为10的间隔。 #### 引用[.reference_title] - *1* [Roson的Qt之旅 #112 QML布局GridLayout(表格布局)](https://blog.csdn.net/jolin678/article/details/126579944)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v4^insert_chatgpt"}} ] [.reference_item] - *2* [QML类型说明-GridLayout](https://blog.csdn.net/Vampire_Armand/article/details/39232627)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v4^insert_chatgpt"}} ] [.reference_item] - *3* [QML GridLayout](https://blog.csdn.net/m0_60259116/article/details/130271473)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v4^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值