QApplicant类:
此类是QT应用程序的核心,他主要用来管理GUI(Graphic user interface)应用的控制流和一些设置,处理时间循环,应用初始化和结束,提供会话管理,处理系统范围和应用范围内的设置,总而言之就是QT的核心处理器。
窗口部件(Widget):
用户界面的一个可视化元素,起源于"window gadget"(窗口配件),相当于Windows系统的"control"(控件)和"container"(容器)。
布局管理器(Layout manager):
是一个能够对其管理的窗口部件进行尺寸和位置的设置的对象。当创建一个需要妨碍布局管理器下的窗口部件时,不必在他的构造函数中显式地指定父对象,因为调用addWidget()时会为窗口部件重定义父对象,即布局管理器会成为窗口部件的父对象。布局管理器会为他的子对象分配所需的位置和大小,所以可以灵活平稳地处理窗口部件与窗口大小以及屏幕位置的关系。
本章重要概念:
信号槽的连接,布局,展示了QT的兼容性和完全面向对象的构造方法,以及窗口部件的使用。
第一章经典例程:
#include <QApplication> #include <QHBoxLayout> #include <QSpinBox> #include <QSlider> int main(int argc, char *argv[]) { //实例化QApplication 类 QApplication a(argc, argv); //创建窗口对象,把他作为应用的主窗口,并设置标题 QWidget *widget = new QWidget; widget->setWindowTitle("One widget"); //创建QSpinBox 对象和QSlider 对象,设置范围值 QSpinBox *spinbox = new QSpinBox; QSlider *slider = new QSlider(Qt::Horizontal); spinbox->setRange(0,130); slider->setRange(0,130); //连接信号槽,使两个部件之间的数值和滑动条联系起来 QObject::connect(spinbox,SIGNAL(valueChanged(int)),slider,SLOT(setValue(int))); QObject::connect(slider,SIGNAL(valueChanged(int)),spinbox,SLOT(setValue(int))); //设置值 spinbox->setValue(35); //创建垂直布局管理器,并把两个部件添加到布局管理器下 QHBoxLayout *boxLayout = new QHBoxLayout; boxLayout->addWidget(spinbox); boxLayout->addWidget(slider); //往窗口上安装布局管理器,并显示窗口 widget->setLayout(boxLayout); widget->show(); //把控制权交给Qt,程序进入事件循环状态,这是一种等待模式,程序会等待用户的动作,比如点击鼠标 return a.exec(); }