【QT实验分析记录】 窗口部件及窗口类型

【QT实验分析记录】 窗口部件及窗口类型

作者 CodeAllen ,转载请注明出处


图形用户界面由不同的窗口和组件构成
头文件包含窗口组件,对应Qt中的GUI模块
Qt以组件对象的方式构建图形用户界面
组件的类型

  • 容器类(父组件):用于包含其他的界面组件
  • 功能类(子组件):实现特定的交互功能

qt中没有父组件的顶级组件叫做窗口(包含对话框)

窗口组件
在这里插入图片描述

窗口组件
**QWidget类(父类)**自继承QObject类和QpaintDevice类

  • QObject是所有支持QT对象模型的基类
  • QpaintDevice是QT中国所有可绘制组件的基类
    在这里插入图片描述

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

实验:QWidget实验

#include <QtGui/QApplication>
#include "Widget.h"
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget w;  //没有父组件,成为对话框
    w.setWindowTitle("CodeAllen");   //修改窗口名称
    w.show();
    
    return a.exec();
}

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

QLabel组件
QLabel用于显示一个提示性的字符串
QLabel是功能组件,一般需要父组件作为容器
QLabel可以作为窗口存在,但是没有意义

实验:QLabel测试

#include <QtGui/QApplication>
#include "Widget.h"
#include <QLabel>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget w;  //没有父组件,成为对话框
    QLabel l(&w);
    l.setText("Code Allen");
    w.setWindowTitle("CodeAllen");   //修改窗口名称
    w.show();
    
    return a.exec();
}

在这里插入图片描述

窗口类型
Qt中可以根绝需要定制窗口样式

-窗口类型
Qt::Dialog 对话框类型
Qt::Window 主窗口类型
Qt::SplashScreen 启动画面类型

窗口标志
Qt::WindowStaysOnTopHint
Qt::WindowContextHelpButtonHint

实验:窗口类型和窗口标志

#include <QtGui/QApplication>
#include "Widget.h"
#include <QLabel>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget w(NULL, Qt::Window | Qt::WindowStaysOnTopHint);  //没有父组件,成为对话框
    QLabel l(&w);
    l.setText("Code Allen");
    w.setWindowTitle("CodeAllen");   //修改窗口名称
    w.resize(400, 300);
    w.show();
    
    return a.exec();
}

在这里插入图片描述

Qt::Dialog 对话框类型(没有最大最小)
在这里插入图片描述

Qt::Window 主窗口类型
在这里插入图片描述

Qt::SplashScreen 启动画面类型(可以做欢迎界面)
在这里插入图片描述

小结
Qt以组件对象的方式构建图形用户界面
QWidget类是所有用户界面组件的父类
QWidget类对象常作为父组件或者顶级组件使用
Qt中可以根据需要定制窗口式样
QLabel用于显示一个提示性的字符串

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章