1 窗口组件

Qt中的窗口组件:

  • 图形用户界面由不同的窗口和窗口组件构成。
  • <QtGui>头文件包含窗口组件,对应Qt中的GUI模块。
  • Qt以组件对象的方式构建图形用户界面。
  • 组件的类型:
    • 容器类(父组件):用于包含其他的界面组件。
    • 功能类(子组件):用于实现特定的交互功能。

注意:Qt中没有父组件的顶级组件叫做窗口(按钮、标签如果没有父组件的话,也会成为窗口)。

在这里插入图片描述


2 QWidget类

QWidget类继承自QObject类和QPaintDevice类:

  • QObject是所有支持Qt对象模型的基类。
  • QPaintDevice是Qt中所有可绘制组件的基类。

在这里插入图片描述
QWidget组件:

  • QWidget能够绘制自己和处理用户的输入。
  • QWidget是Qt中所有窗口组件类的父类(super class)。
  • QWidget是所有组件窗口的抽象。
  • Qt中的每个窗口组件都是一个QWidget。
  • QWidget类对象常常作为父组件或顶级组件使用。

3 窗口类型

Qt中可以根据需要定制窗口样式:

  • 窗口类型:
    在这里插入图片描述
  • 窗口标志:
    • Qt::WindowStaysOnTopHint:顶层窗口。
    • Qt::WindowContextHelpButtonHint:增加问号按钮。
    • Qt::WindowCloseButtonHint:增加关闭按钮。

示例程序:

#include <QtGui>
#include "Widget.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget w(NULL, Qt::Window|Qt::WindowStaysOnTopHint|Qt::WindowContextHelpButtonHint);
    QLabel l(&w);

    l.setText("I'm a label control.");
    w.setWindowTitle("D.T.Software");
    w.resize(400, 300);
    w.show();
    
    return a.exec();
}


4 窗口部件的大小设置

QW i的个体类提供了成员函数:

  • 改变窗口部件的大小
    • void resize(int w, int h)
    • void resize(const QSize & )
  • 改变窗口部件的位置
    • void move(int x, int y)
    • void move(const QPoint &)

5 QWidget常用方法

  1. 设置窗口为固定大小,可以在调用show()后,进行如下设置:w->setFixedSize(w->width(), w->height());

参考资料:

  1. QT实验分析教程
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐