Qt 第1课、Qt 的窗口组件和窗口类型

GUI 程序的开发原理:

GUI 程序在运行的时候,操作系统会为它创造一个消息队列,消息队列用于存储操作系统发过来的系统消息。

Qt 第1课、Qt 的窗口组件和窗口类型_第1张图片

用户使用操作系统的过程中,操作系统内核检测到用户的操作(鼠标,键盘),会把这个操作翻译成程序消息,并将程序消息发送到拥有焦点的应用程序上去,这个有焦点的应用程序就是 GUI 应用程序,我们的 GUI 应用程序可以在消息队列中将发过来的消息给检测到,并把程序消息拿出来实时响应。

Qt 第1课、Qt 的窗口组件和窗口类型_第2张图片


1、窗口组件

  • 图形用户界面由不同的窗口窗口组件组成
  • 组件的类型
    — 容器类(父组件):用于包含其它的界面组件
    — 功能类(子组件):用于实现特定的交互功能
    Qt 中没有父组件的顶级组件叫做窗口

QWidget

  • QWidget 继承于 QObjectQPaintDevice
    QObject 是所有支持 Qt 对象模型的基类
    QPaintDevice 是 Qt 中所有可绘制组件的基类
    QWidget 是 Qt 中所有窗口组件类的父类,常作为父组件或顶级组件使用

Qt 第1课、Qt 的窗口组件和窗口类型_第3张图片

QLabel 组件

  • QLabel 用于显示一个提示性的字符串
  • QLabel 是功能性组件,一般需要父组件作为容器
  • QLabel 可以作为窗口存在,但没什么意义
QWidget w;
QLabel l(&w);
l.setText("This is a label control.");

QLineEdit 组件

  • QLineEdit 用于显示一个行编辑来接受用户输入
  • QLineEdit 能够在父组件中定位
QWidget w;
QLineEdit le(&w);
le.setAlignment(Qt::AlignRight);  		//设置显示的字符串向右边对齐
le.move(10, 10);
le.resize(240, 30);

QPushButton 组件

  • QPushButton 用于显示一个按钮

2、窗口类型

— 窗口类型:QWidget w(QWidget* Parent,Qt::WindowFlags);

  • Qt::Window     — 主窗口类型,包含最大化、最小化和关闭按钮
    在这里插入图片描述
  • Qt::Dialog     — 对话框类型,最大化和最小化按钮没有了,只有一个帮助和关闭按钮
    在这里插入图片描述
  • Qt::SplashScreen  — 启动动画类型,没有标题栏,最大化最小化和关闭按钮,一般用来作为软件开始时的欢迎界面
    在这里插入图片描述
    用法:QWidget w(NULL, Qt::Dialog);

— 窗口标志:

  • Qt::WindowStaysOnTopHint     — 有点像模态对话框,顶级窗口
  • Qt::WindowContextHelpButtonHint  — 文本帮助对话框
  • Qt::WindowCloseButtonHint     — 只有关闭按钮的窗口,计算器界面就是用这个

用法:
QWidget w(NULL, Qt::Window | Qt::WindowContextHelpButtonHint);
QWidget w(NULL, Qt::WindowCloseButtonHint);

你可能感兴趣的:(Qt,外传,qt,开发语言)