Qt QWidget

原文: https://www.cnblogs.com/muyuhu/archive/2012/10/26/2741184.html

QWidget 类代表一般的窗口,其他窗口类都是从 QWidget 类继承出来的。而 QWidget 类则同时继承了 QObject 类 和 QPaintDevice 类,也就是说,窗口类都是 Qt 对象类。这里的 QPaintDevice 类则是所有可绘制的对象的基类。

 构造

       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
原文地址:https://www.cnblogs.com/nanqiang/p/10621267.html