91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

QT QML的元素布局的實現

發布時間:2020-09-14 19:05:18 來源:腳本之家 閱讀:183 作者:jamescat 欄目:編程語言

本文介紹QT QML跨平臺移動APP開發中的元素布局的相關問題,先看一張圖,我們來分析一下其中的問題:

QT QML的元素布局的實現

這張圖片中,有如下問題:

整體的布局沒有居中顯示
班級名稱:
沒有和 請輸入班級名稱輸入框垂直對齊
和輸入框的距離太遠
班主任的提示也一樣
最后的Button一行,需求要求右對齊,在QML的程序中沒有實現

代碼修改完以后的效果:

QT QML的元素布局的實現

改變寬度試一下:

QT QML的元素布局的實現

原代碼說明:

main.qml

import QtQuick 2.12
import QtQuick.Window 2.12

Window {
	visible: true
	width: 640
	height: 480
	title: qsTr("QML 元素布局")

	InputPage{
		// 充滿父類
		anchors.fill: parent
		// 設置margins
		anchors.margins: 10
	}
}

InputPage.qml

import QtQuick 2.0
import QtQuick.Controls 2.12

Page {
	// 定義參數,每行的高度
	property int rowHeight: 40
	// 定義參數,每行中,每列的間距
	property int rowSpacing: 8
	// 定義一列
	Column{
		id: column
		// 充滿父類Page類
		anchors.fill: parent
		// 定義Column中,每行Row的間距
		spacing: 10
		Row{
			// 寬度去Page的0.8
			width: parent.width * 0.8
			height: rowHeight
			spacing: rowSpacing
			// Row水平居中顯示
			anchors.horizontalCenter: parent.horizontalCenter

			Label{
				text: "班級名稱"
				// 定義垂直居中顯示
				verticalAlignment: className.verticalAlignment
				// 顯示字符,水平靠右顯示
				horizontalAlignment: Text.AlignRight

				// 設置寬度,Row的寬度的0.3
				width: parent.width * 0.3
				height: parent.height

			}

			TextField{
				id: className
				placeholderText: "請輸入班級名稱"
				// 設置寬度,Row的寬度的0.60
				width: parent.width * 0.60
				height: parent.height
			}
		}

		// 同上一行代碼
		Row{
			width: parent.width * 0.8
			height: rowHeight
			spacing: rowSpacing
			anchors.horizontalCenter: parent.horizontalCenter

			Label{
				text: "班主任"
				verticalAlignment: teacherInChargeClass.verticalAlignment
				horizontalAlignment: Text.AlignRight

				width: parent.width * 0.3
				height: parent.height

			}

			TextField{
				id: teacherInChargeClass
				placeholderText: "請輸入班主任姓名"
				width: parent.width * 0.6
				height: parent.height
			}
		}


		Row{
			width: parent.width * 0.8
			height: rowHeight
			spacing: rowSpacing
			anchors.horizontalCenter: parent.horizontalCenter

			// 設置Button一行的左側的充滿寬度
			Label{
				text: ""
				// 寬度說明
				// 上述兩行(班級名稱,班主任)的總寬度是id=column的寬度的0.9倍
				// 三個Button的寬度 = b1.width*3
				// 三個Button的寬度,其中間的間隔有兩個間隔寬度
				// 所以本行的寬度和上兩行的寬度是一致的,這樣就保證了button右對齊的
				width: parent.width * 0.9 - b1.width*3 - rowSpacing*2
				height: parent.height
			}

			Button{
				id: b1
				text: "新增"
				width: parent.width * 0.15
				height: parent.height
			}

			Button{
				id: b2
				text: "保存"
				width: parent.width * 0.15
				height: parent.height
			}

			Button{
				id: b3
				text: "放棄"
				width: parent.width * 0.15
				height: parent.height
			}
		}
	}
}

參考課程 《QT QML跨平臺移動APP編程》

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

塔城市| 崇阳县| 吉木乃县| 黄梅县| 韶山市| 北海市| 石台县| 潞城市| 刚察县| 龙南县| 景东| 兴山县| 渭源县| 阳谷县| 清水县| 锡林郭勒盟| 肥城市| 留坝县| 香河县| 泰和县| 克东县| 洪湖市| 郓城县| 福建省| 方正县| 横山县| 建水县| 金溪县| 阳泉市| 南郑县| 鄄城县| 娄烦县| 凭祥市| 克东县| 松潘县| 昌邑市| 浑源县| 岳阳县| 民和| 三明市| 开平市|