窗口组件
图形用户界面由不同的窗口和窗口组件构成
<QtGui>头文本包含窗口组件,对应Qt中的GUI模块
Qt以组件对象的方式构建图形用户界面
组件的类型
容器类(父组件):用于包含其他的界面组件
功能类(子组件):用于实现特定的交互功能
Qt中没有父组件的顶级组件叫做窗口
窗口组件
QWidget类继承自QObject类和QPaintDevice类
QObject时所有支持Qt对象模型的基类
QPaintDevice是Qt种所有可绘制组件的基类
QWidget组件
QWidget能够绘制自己和处理用户的输入
QWidget是Qt种所有窗口组件类的父类
QWidget是所有窗口组件的抽象
QT种每个窗口组件都是一个QWidget
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.setWindowTitle("hello world");//窗口标题
w.show();
return a.exec();
}
QLabel组件
QLabel用于显示一个提示性的字符串
QLabel是功能性组件,一半需要父组件作为容器
QLabel可以作为窗口存在,但没什么意思
QWidget w; //生成QWidget对象,顶级组件
QLabel l(&w); //生成QLabel对象,其父组件QWidget
/*设置QLabel组件的显示字符串*/
l.setText("This is a label control.");
Qt种可以根据需要定制窗口式样
窗口类型
Qt::Dialog--对话框类型
Qt::Window--主窗口类型
Qt::SplashScreeen--启动画面类型
窗口标志
Qt::WindowStaysOnTopHint永远不会被遮挡
Qt::WindowContextHelpButtonHint问好
#include "widget.h"
#include <QApplication>
#include <QLabel>
#include <QDialog>
#include <QWidget>
#include <QSplashScreen>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//QWidget w(nullptr, Qt::Dialog);
//QWidget w(nullptr, Qt::Window);
QWidget w(nullptr, Qt::WindowContextHelpButtonHint);
QLabel l(&w);
l.setText("I', a label control");
w.setWindowTitle("hello world");//窗口标题
w.resize(400, 300);
w.show();
return a.exec();
}