QT系列书籍参考C++.GUI.Qt.4编程(第二版).
【第一个hello程序:】
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello Qt!");
label->show();
return app.exec();
}
QLabel是标签。
【点击按钮退出】
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton *button = new QPushButton("Quit");
QObject::connect(button, SIGNAL(clicked()),
&app, SLOT(quit()));
button->show();
return app.exec();
}
使用QObject将button,信号发生,触发事件。也就是信号和槽的概念。
QPushButton就是按钮类。
【操纵微调框和滑块】
#include <QApplication>
#include <QHBoxLayout>
#include <QSlider>
#include <QSpinBox>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget *window = new QWidget;
window->setWindowTitle("Enter Your Age");
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 *layout = new QHBoxLayout;
layout->addWidget(spinBox);
layout->addWidget(slider);
window->setLayout(layout);
window->show();
return app.exec();
}
依然是信号和槽的概念:
QSpinBox是微调框类,QSlider是滑块类。
QWidget是窗口类
- QHBoxLayout .在水平方向上排列窗口部件,从左到右
- QVBoxLayout.从上到下排
- QGridLayout.把各个窗口部件排列在一个网络中。
常见的类之间的关系