效果:用法:複製並貼上程式碼到新建的qml檔案中;在main.qml中呼叫;將程式碼中的main_Window修改為你的main.qml的id;程式碼
import QtQuick 2.0import QtQuick.Controls 2.5import QtQuick.Controls.Styles 1.4Item { id:i_BasicFunc width: 90 height: 30 anchors.top: parent.top anchors.right: parent.right property var btn_BGColor: "#00000000" property var text_Color: "white" property bool b_IsTheZoom: false //行的背景大小及顏色 方便檢視行的區域 Rectangle{ id:i_Rec anchors.fill: parent color: "#00000000" } Row{ anchors.fill: parent //最小化按鈕 Button{ id:minBtn width: parent.height height: parent.height Text{ text: "-" color: text_Color anchors.centerIn: parent font.bold: true font.pointSize: 14 } background: Rectangle{ //當滑鼠移入移出以及按下抬起時,背景顏色發生相應的改變 color: parent.hovered?(parent.pressed?"#b9b9b9":"#a0a0a0"):btn_BGColor } onClicked: { //主視窗id+showMinimized() 最小化視窗 main_Window.showMinimized() } } //最大化及正常顯示按鈕 Button{ id:maxBtn width: parent.height height: parent.height Text{ text: "❐" color: text_Color anchors.centerIn: parent font.bold: true font.pointSize: 10 } background: Rectangle{ color: parent.hovered?(parent.pressed?"#b9b9b9":"#a0a0a0"):btn_BGColor } onClicked: { //加入bool變數判斷當前視窗處於什麼狀態 if(!b_IsTheZoom){ b_IsTheZoom = true main_Window.showMaximized()//最大顯示 }else{ b_IsTheZoom = false main_Window.showNormal()//正常顯示 } } } //退出按鈕 Button{ id:closeBtn width: parent.height height: parent.height Text{ text: "×" color: text_Color anchors.centerIn: parent font.bold: true font.pointSize: 12 } background: Rectangle{ color: parent.hovered?(parent.pressed?"#b9b9b9":"#a0a0a0"):btn_BGColor } onClicked: { Qt.quit()//退出 } } }}
最新評論