Qt学习之路2---窗口组件及窗口类型

窗口组件:

图形用户界面由不同的窗口和窗口组件构成;

Qt以组件对象的方式,构建图形用户界面。

组件的类型包括:

---容器类(父组件):用于包含其他的界面组件

---功能类(子组件):用于实现特定的交互功能

Qt中没有用父组件的顶级组件叫做窗口。

 

Qwidget 继承自QObject和QPaintDevice

-Qwidget 能够绘制自己和处理用户的输入,也是Qt中所以窗口组件类的父类

-Qwidget类对象作为父组件或顶级组件使用

-Qt中的每一个窗口组件都是Qwidget

-Qwidget 是所有窗口组件的抽象

 

QLabel组件-QLabel 用于显示提示性的字符串

-QLabel 是功能性组件,一般需要父组件作为容器

-QLabel 可以作为窗口存在,但没有实际意义

 

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

-窗口类型 

.Qt::Dialog---对话框类型

.Qt::Window---主窗口类型

.Qt::SplashSctrrn---启动画面类型

。。。

-窗口标志

.Qt::WindowStaysOnTopHint

.Qt::WindowContexHelpButtonHint

。。。

编程实战:

新建Qwidget工程如下图:

参考代码:

 1 /*main.cpp*/
 2 
 3 #include "widget.h"
 4 #include <QApplication>
 5 
 6 int main(int argc, char *argv[])
 7 {
 8     QApplication a(argc, argv);
 9     Widget w;
10     w.setWindowTitle("我是继承自Qwidget的Widget");
11     w.show();
12 
13     return a.exec();
14 }
 1 /*widget.cpp*/
 2 
 3 #include<QLabel>
 4 #include "widget.h"
 5 
 6 Widget::Widget(QWidget *parent)
 7     : QWidget(parent)
 8 {
 9     m_label =new QLabel(this);
10     m_label->setText("我是一个标签");
11 }
12 
13 Widget::~Widget()
14 {
15 
16 }

 

 1 /*widget.h*/
 2 
 3 #ifndef WIDGET_H
 4 #define WIDGET_H
 5 
 6 #include <QWidget>
 7 class QLabel;
 8 class Widget : public QWidget
 9 {
10     Q_OBJECT
11 private:
12     QLabel *m_label;
13 public:
14     Widget(QWidget *parent = 0);
15     ~Widget();
16 };
17 
18 #endif // WIDGET_H

效果图:

NOTE:

你可能现在会有很多疑问,但慢慢看下去,你的疑问就会慢慢被解决。O(∩_∩)O

Best Practices:

Qt中的帮助文档是你的第一手资料,它也是你遇到问题首先应该去查询的。但这也要求我们需要具备一定的英语阅读能力,刚开始吃力,坚持几个月就好,至少我是这样过来的,遇到不会的单词,只查词比你整句copy到翻译软件更能提高你的英语阅读水平。

posted @ 2017-02-12 11:49  Crystal_Guang  阅读(2534)  评论(4编辑  收藏  举报