Qt(一) hello,信号和槽

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.把各个窗口部件排列在一个网络中。
     

常见的类之间的关系

猜你喜欢

转载自blog.csdn.net/qq_42418668/article/details/89459674