【QT】 窗口部件及窗口类型

举报
CodeAllen 发表于 2021/10/30 01:01:54 2021/10/30
【摘要】 【QT实验分析记录】 窗口部件及窗口类型 作者 CodeAllen ,转载请注明出处 图形用户界面由不同的窗口和组件构成 头文件包含窗口组件,对应Qt中的GUI模块 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();
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

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

在这里插入图片描述

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();
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

在这里插入图片描述

窗口类型
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();
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

在这里插入图片描述

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

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

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

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

文章来源: allen5g.blog.csdn.net,作者:CodeAllen的博客,版权归原作者所有,如需转载,请联系作者。

原文链接:allen5g.blog.csdn.net/article/details/105647972

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。