属性
import QtQuick
Window {
//尺寸、位置
minimumWidth(Height): int
maximumWidth(Height): int
width(height): int
x(y): int
color: color
//设置为"transparent" 或有透明度的颜色,则还应设置合适的 flags
//否则,窗口半透明可能无法启用
//可以结合部分 flags 标志和透明图片,只显示一张图片样的窗口
//窗口标志
flags: Qt::WindowFlags
flags: Qt.Widget
//不带最小/大化、关闭的窗口,可移动
flags: Qt.Window
flags: Qt.Dialog
//对话框,只有关闭按钮,可移动
flags: Qt.Popup
//弹出式顶层窗口,点击窗口外会关闭,不可移动
flags: Qt.Tool
//工具窗口,只有关闭按钮,可移动
flags: Qt.ToolTip
//工具提示,无任何按钮,不可移动
flags: Qt.SplashScreen
//表示窗口是闪屏,可当做软件的启动窗口加载一些信息,无任何按钮,不可移动
flags: Qt.SubWindow
//子窗口,只有关闭按钮,可移动
flags: Qt.FramelessWindowHint
//无边框窗口,可以自定义关闭、缩小、放大等按钮
//模态窗口
modality: Qt::WindowModality
modality: Qt.NonModal//无模态,默认
modality: Qt.WindowModal
//窗口模态,只阻止父窗口及其子窗口的交互
modality: Qt.ApplicationModal
//应用模态,阻止整个应用程序中所有窗口的交互
opacity: real//不透明度(全局)
palette: Palette
//调色板,默认调色板取决于系统主题
screen: variant//与窗口关联的屏幕
title: string//窗口标题
transientParent: QWindow
//该窗口为瞬时弹出窗口
//屏幕占用状态
visibility: QWindow::Visibility
visibility: Window.Windowed
//默认,值 = 2
visibility: Window.Minimized
//最小化,值 = 3
visibility: Window.Maximized
//最大化,值 = 4
visibility: Window.FullScreen
//全屏,无标题栏,适用于播放器全屏等,值 = 5
visibility: AutomaticVisibility
//自动,根据系统平台而定,可能是全屏或窗口状态,值 = 1
visibility: Hidden
//不可见,相当于 visible: false,值 = 0
visible: bool
//可见性,默认 false,可通过设置 visibility 覆盖
Item {
Window.width(height): int
//获取窗口的宽/高
Window.window: Window
//获取项目所在的窗口
}
}
只读属性
import QtQuick
Window {
active: bool
//窗口活动状态
activeFocusItem: Item
//当前处于活动焦点的项目,如果没有处于活动焦点的项目,则为null
contentItem: Item
//场景的隐形根项目
Item {
Window.active: bool
//获取窗口的活动状态
Window.activeFocusItem: Item
//获取当前处于活动焦点的项目,如没有,则显示null
Window.contentItem: Item
//获取不可见的根项目,如项目不在窗口中,则保存null
Window.visibility: QWindow::Visibility
//获取窗口当前在系统中的显示状态
}
}
信号
import QtQuick
Window {
afterAnimating()
onAfterAnimating: {
//GUI 界面发生变化时会发出
}
closing(CloseEvent close)
onClosing: {
//试图关闭窗口时会发出该信号
//close 参数 close.accepted 默认为 true,即可以关闭窗口
//在信号代码块中设置 close.accepted = false 可阻止关闭窗口
//例:onClosing: close.accepted = false
//应用:在文档未保存时,点击关闭时,需要阻止,并提醒保存
}
frameSwapped()
onFrameSwapped: {
//当一帧已排队等待呈现时,将发出该信号
//启用垂直同步后,在连续动画场景中,每个 vsync 间隔最多发出一次信号
}
sceneGraphError(SceneGraphError error, QString message)
onSceneGraphError: {
//场景图初始化过程中出现error 时,将发出该信号
//可以自定义实现 onSceneGraphError(error, message) 来处理图形上下文创建失败等错误
//如果没有处理程序连接到此信号,Quick 将打印message 或显示消息框,并终止应用程序
}
}
方法
import QtQuick
Window {
alert(int msec)
//触发警报,显示时间为 毫秒
//msec 默认 0,无限期显示警报,直到窗口处于活动状态
//需要窗口未活动状态,任务栏会闪烁提示
close()
//关闭窗口
hide()
//隐藏窗口
show()
//显示窗口
showFullScreen()
//全屏窗口,相当于 visibility: Window.FullScreen
showMaximized()
//最大化,相当于 visibility: Window.Maximized
showMinimized()
//最小化,相当于 visibility: Window.Minimized
showNormal()
//正常方式显示窗口,相当于 visibility: Window.Windowed
lower()
//降低到其他窗口下方
raise()
//显示在其他窗口上方
requestActivate()
//要求激活窗口,即接收键盘焦点
}