qt show widget_Qt基本控件-QWidget详解

QWidget 类的构造函数如下:

QWidget(QWidget *parent = 0, Qt::WindowFlags f = 0);

其中参数 parent 指向父窗口,如果这个参数为 0,则窗口就成为一个顶级窗口

参数 f 是构造窗口的标志,主要用于控制窗口的类型和外观等,有以下常用值。

1)Qt::FramelessWindowHint:没有边框的窗口。

2)Qt::WindowStaysOnTopHint:总是最上面的窗口。

3)Qt::CustomizeWindowHint:自定义窗口标题栏,以下标志必须与这个标志一起使用才有效,否则窗口将有默认的标题栏。

4)Qt::WindowTitleHint:显示窗口标题栏。

5)Qt::WindowSystemMenuHint:显示系统菜单。

6)Qt::WindowMinimizeButtonHint:显示最小化按钮。

7)Qt::WindowMaximizeButtonHint:显示最大化按钮。

8)Qt::WindowMinMaxbuttonHint:显示最小化按钮和最大化按钮。

9)Qt::WindowCloseButtonHint:显示关闭按钮。

独立窗口

窗口构造的时候如果有 Qt::Window 标志,那么它就是一个独立窗口,否则

就是一个依附于其他独立窗口的窗口部件。顶级窗口一定是独立窗口,但独立窗

口不一定是顶级的,它可以有父窗口,当父窗口被析构时它也会随之被析构。独立窗口一般

有自己的外边框和标题栏,可以有移动、改变大小等操作。

一个窗口是否为独立窗口可用下面的成员函数来判断:

bool isWindow() const; // 判断是否为独立窗口

下面这个函数可以得到窗口部件所在的独立窗口。

QWidget *window() const; // 所得所在的独立窗口

当然,如果窗口本身就是独立窗口,那么得到的就是自己。

而下面这个函数可以得到窗口的父窗口:

QWidget *parentWidget() const; // 得到父窗口

窗口标题

WindowTitle 属性表示窗口的标题,与之相关的成员函数如下:

QString windowTitle() const; // 获得窗口标题

void setWindowTitle(const QString &text); // 设置窗口标题为 text

几何参数

这里的几何参数指的是窗口的大小和位置。一个窗口有两套几何参数,一套是窗口外边框所

占的矩形区域,另一套是窗口客户区所占的矩形区域。所谓窗口客户区就是窗口中去除边框和标题栏用来显示内容的区域。

这两套几何参数分别由两个 QRect 型的属性代表,相关的成员函数如下:

const QRect &geometry() const; // 获取客户区几何参数

void setGeometry(int x, int y, int w, int h); // 设置客户取几何参数

void setGeometry(const QRect &rect); // 设置客户区几何参数

QRect frameGeometry() const; // 获取外边框几何参数

这里虽然没有直接设置外边框几何参数的函数,但客户区几何参数变化之后,外边框的几何参

数也会随之变化。设置几何参数可能会使窗口的位置及大小发生变化,这时会发送窗口移动

事件 QMoveEvent,如果大小有变化,还会发送窗口改变大小事件 QResizeEvent,事件

的处理函数分别是 moveEvent 和 resizeEvent。注意这里的坐标都是相对于父窗口的,因此

移动一个窗口并不导致它的所有部件都接收到移动事件。

注意:不要在 moveEvent 或 resizeEvent 两个事件处理函数中设置几何参数,否则将导致无限循环

窗口的几何

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值