窗口组件:
图形用户界面由不同的窗口和窗口组件构成;
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工程如下图:
参考代码:
/*main.cpp*/ #include "widget.h"
#include <QApplication> int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.setWindowTitle("我是继承自Qwidget的Widget");
w.show(); return a.exec();
}
/*widget.cpp*/ #include<QLabel>
#include "widget.h" Widget::Widget(QWidget *parent)
: QWidget(parent)
{
m_label =new QLabel(this);
m_label->setText("我是一个标签");
} Widget::~Widget()
{ }
/*widget.h*/ #ifndef WIDGET_H
#define WIDGET_H #include <QWidget>
class QLabel;
class Widget : public QWidget
{
Q_OBJECT
private:
QLabel *m_label;
public:
Widget(QWidget *parent = );
~Widget();
}; #endif // WIDGET_H
效果图:
NOTE:
你可能现在会有很多疑问,但慢慢看下去,你的疑问就会慢慢被解决。O(∩_∩)O
Best Practices:
Qt中的帮助文档是你的第一手资料,它也是你遇到问题首先应该去查询的。但这也要求我们需要具备一定的英语阅读能力,刚开始吃力,坚持几个月就好,至少我是这样过来的,遇到不会的单词,只查词比你整句copy到翻译软件更能提高你的英语阅读水平。