第六课窗口组件及窗口类型
Posted 谱写赞歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第六课窗口组件及窗口类型相关的知识,希望对你有一定的参考价值。
一、窗口组件
1、组件的介绍
(1)、图形用户界面由不同类型的窗口和窗口组件构成
(2)、<QtGui>头文件包含窗口组件,对应Qt中的GUI模块
(3)、Qt以组件对象的方式构建图形用户界面
(4)、组件的类型
A、容器类(父组件):用于包含其它的界面组件(Qt中没有父组件的顶级组件叫做窗口)
B、功能类(子组件):用于实现特定的交互功能
2、QWidget组件
(1)、Qwidget类继承自QObject和QPaintDevice类
A、QObject是所有支持Qt对象的基类
B、QPaintDevice是Qt中所有可绘制组件的基类
(2)、QWidget能够绘制自己和处理用户输入
(3)、QWidget是Qt中所有窗口组件类的父类(super class)
(4)、QWidget是所有窗口组件的的抽象
(5)、Qt的每个窗口组件都是一个QWidget
(6)、QWidget类对象常作为父组件或顶级组件使用
3、QLabel组件
(1)、QLabel用于显示一个提示性的字符串
(2)、QLabel是功能性组件,一般需要父组件作为容器
(3)、QLabel可以作为窗口存在,但没有什么意义
//Widget.h
#ifndef WIDGET_H #define WIDGET_H #include <QtGui/QWidget> class Widget : public QWidget { Q_OBJECT public: Widget(QWidget *parent = 0); ~Widget(); }; #endif // WIDGET_H
//Widget.cpp
#include "Widget.h" Widget::Widget(QWidget *parent) : QWidget(parent) { } Widget::~Widget() { }
//main.cpp
#include <QtGui> #include "Widget.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget w;//没有父组件,成为窗口 QLabel l(&w);//父组件为w w.setWindowTitle("D.T.Software"); l.setText("I\'m a label"); w.show(); /*说明label也可以成为一个窗口(因为继承自QWidget),但没什么意义 QLabel l; l.setWindowTitle("D.T.Software"); l.setText("I\'m a label"); l.show(); */ return a.exec(); }
二、窗口的类型(关键字Qt::WindowType可以查到窗口的类型和样式):在构造函数的第二个参数处设置。第一个参数为父类
1、Qt中可以根据需要定制窗口样式
(1)、窗口类型:
A、Qt::Dialog : 对话框类型
B、Qt::Window : 主窗口类型
C、Qt::SplashScreen : 启动画面类型(可以用来做欢迎界面)
(2)、窗口标志
A、Qt::WindowStaysOnTopHint(始终在顶层)
B、Qt::WindowContexHelpButtonHint(最大最小化按钮变成了帮助按钮)
#include <QtGui> #include "Widget.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget w(0,Qt::Window|Qt::WindowStaysOnTopHint);//没有父组件,成为窗口 QLabel l(&w);//父组件为w w.setWindowTitle("D.T.Software"); l.setText("I\'m a label"); w.show(); /*说明label也可以成为一个窗口(因为继承自QWidget),但没什么意义 QLabel l; l.setWindowTitle("D.T.Software"); l.setText("I\'m a label"); l.show(); */ return a.exec(); }
三、小结
(1)、Qt以组件对象的方式构建图形用户界面
(2)、QWidget是Qt中所有窗口组件类的父类(super class)
(3)、QWidget类对象常作为父组件或顶级组件使用
(4)、Qt中可以根据需要定制窗口样式
(5)、QLabel用于显示一个提示性的字符串
以上是关于第六课窗口组件及窗口类型的主要内容,如果未能解决你的问题,请参考以下文章