Qt 窗口

在 Qt 中,窗口是 GUI 应用程序的基本构建块,主要通过 QWidget 及其子类实现,透过窗口可以使用计算机资源,窗口起到了连接的作用

窗口构成:边框、标题栏、内容

基础窗口类

(1) QWidget

所有窗口的基类,可嵌入其他窗口或作为独立窗口

Qt 窗口_第1张图片

(2) QMainWindow

主窗口框架,包含菜单栏/工具栏/状态栏/中心部件

Qt 窗口_第2张图片

(3) QDialog

对话框基类,用于获取用户输入

Qt 窗口_第3张图片

三个基础界面的对比

特性 QWidget QMainWindow QDialog
预置组件 菜单栏/工具栏/状态栏 按钮布局
窗口修饰 可定制 标准标题栏 对话框风格
模态支持 需手动实现 不适用 原生支持
内存管理 需手动处理 自动管理子部件 常设为DeleteOnClose
典型用途 自定义控件/子视图 应用主窗口 弹窗/配置窗口

窗口特性

窗口标识

方法 说明
setWindowTitle() 设置标题
setWindowIcon() 设置图标
setWindowFlags() 控制窗口行为(置顶/无标题栏/无边框等)

窗口几何布局

获取窗口的几何信息 属性
QRect geometry = geometry(); 不包含窗口的边框的几何信息(坐标,大小等)
QRect frame = frameGeometry(); 包含窗口的边框(坐标,大小等)
改变窗口的几何位置和大小 属性
move(100,100) 将窗口移动到坐标为(100,100)的点
resize(100.100) 将窗口的大小设置为100×100
setGeometry(100,100,100,100); 将窗口移动到(100,100)并将设置为100×100

Qt 窗口_第4张图片

窗口状态

函数 作用
showMaximized() 最大化
showMinimized() 最小化
showFullScreen() 全屏
showNormal() 恢复正常

窗口类型

通过 setWindowFlags() 设置的常见标志:

标志 说明
Qt::Widget 将窗口指定为Widget窗口
Qt::Window 将窗口指定为Window窗口
Qt::Dialog 将窗口指定为Dialog窗口
Qt::Tool 工具窗口(无任务栏条目)
Qt::FramelessWindowHint 无边框窗口
Qt::WindowStaysOnTopHint 始终置顶
Qt::CustomizeWindowHint 无标题栏

setWinowFlags()函数也可以通过`|`来连接两个或多个标志以实现多个标志的设置:

setWindowFlags(Qt::WindowStaysOnTopHint|Qt::FramelessWindowHint);
//即将窗口设置为置顶且无标题栏

你可能感兴趣的:(qt,qt)