QT Creator常用的默认基类有:
QMainWindow – 带有菜单栏和工具栏的主窗口类
QDialog – 各种对话框的基类
QWidget – 基础窗口部件,所有用户界面对象的基类
QWidget类继承自QObject类和QPaintDevice类:
QObject – 所有支持Qt对象模型的基类
QPaintDevice – 所有可绘制组件的基类
整体类图如下:
头文件位置:
GUI模块,包含窗口组件
图形用户界面由不同的窗口和窗口组件构成。
QT以组件对象的方式构建图形用户界面。
组件类型:
容器类(父组件):用于包含其他的界面组件。
功能类(子组件):用于实现特定的交互功能。
QT中没有父组件的顶级组件叫做窗口。
QWidget组件:
QWidget能够绘制自己和处理用户的输入
QWidget是QT中所有窗口组件类的父类(super class)
QWidget是所有窗口组件的抽象
QT中的每个窗口组件都是一个QWidget
QWidget类对象常作为父组件或顶级组件使用
代码示例:
Widget w;
w.setWindowTitle("title test...");
QLabel组件:
QLabel用于显示一个提示性的字符串
QLabel是功能性组件,一般需要父组件作为容器
QLabel可以作为窗口存在,但是没有意义
代码示例:
QWidget w; //生成QWidget对象,顶级组件
QLabel l(&w); //生成QLabel对象,其父组件为QWidget
//设置QLabel组件的显示字符串
l.setText("this is QLabel test");
可以在帮助中查找:
QT::WindowType
窗口类型:
Qt::Dialog – 对话框类型
Qt::Window – 主窗口类型
Qt::SplashScreen – 启动画面类型
窗口标志:
-Qt::WindowStaysOnTopHint //始终保持最前
-Qt::WindowContexHelpButtonHint //显示帮助按钮
总体示例代码:
#include <QtGui>
#include "widget.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w(NULL, Qt::Dialog); //对话框
//QWidget w(NULL, Qt::Window); //窗口
//QWidget w(NULL, Qt::SplashScreen); //动画效果界面
QLabel l(&w);
l.setText("label test...");
w.setWindowTitle("title test...");
w.resize(400,300);
w.show();
return a.exec();
}