Window
一级目录
ApplicationWindow是Window的子类。Window对象用于构造一个供QtQuick 2.x图形界面类型使用的顶层窗口,Window并不在QtQuick Controls模块中,而是位于Window模块,所以,需要使用下面的导入语句来导人该模块:
import QtQuick. Window 2. x
Window对象可以在一个Item或其他Window对象中声明,此时,内部 Window窗口自动成为外部控件的子窗口;一般在显示时会居于外部窗口中心,这依赖于平台的行为。同QWidget类似,Window也有自己的标志位设置。如果需要实现一个对话框,可以将Window.flags设置为Qt.Dialog。多个Window可以声明在一个顶层的QtObject内。此时,这些窗口就不会成为某个窗口的子窗口。除了利用底层平台,还可以显式设置x、y坐标,定位Window在屏幕的位置。
当用户关闭窗口时,会发出closing()信号。可以在onClosing()信号处理器中设置“oclose.accepted=false”语句,使窗口保持打开状态,这在提示用户保存数据等需求中是非常有用的。
默认情况下,Window是非模态显示的,不过可以通过设置modality属性将其作为模态对话框。modality属性合法值包括:
- Qt::NonModal:非模态;
- Qt::WindowModal:窗口模态:
- Qt::ApplicationModal:应用程序模态。
ApplicationWindow{
width: 400; height: 400
color: "gray"
visible: true
// 设置透明度
opacity: 0.6
x: 300; y: 300
Window {
id: dialog; title: "Dialog"
width: 200; height: 200
flags: Qt.Dialog
Label {
width: parent.width; height: parent.height
text: "This is a dialog. "
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignHCenter
}
onClosing: console.log("quit!");
}
Button {
text: qsTr("Open")
anchors.centerIn: parent
onClicked: { dialog.show();}
}
}