QT学习笔记2--QT简述

时间:2024-03-17 12:42:23

1. Hello,QT

#include <QApplication>
#include <QLabel>


int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QLabel *label =  new QLabel("Hello,World");
    

    label->show();

    return app.exec();
}

2. QT信号槽链接

槽函数四要素:
( s e n d e r , s i g n a l , s l o t , s l o t _ f u n c ) (sender,signal,slot,slot\_func) (sender,signal,slot,slot_func)

#include <QApplication>
#include <QLabel>
#include <QPushButton>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);


    QPushButton *button = new QPushButton("click to quit");


    QObject::connect(button,SIGNAL(clicked()),&app,SLOT(quit()));
    button->show();

    return app.exec();
}

3. QT布局

下面的程序将滑条和复选框关联起来

三种布局方式:

  • 水平
  • 竖直
  • 网格
QHBoxLayout
QVBoxLayout
QGridLayout
#include <QApplication>
#include <QLabel>
#include <QPushButton>


#include <QHBoxLayout>
#include <QSlider>
#include <QSpinBox>
#include <QWidget>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QWidget *mainWindow = new QWidget();
    mainWindow->setWindowTitle("Enter your age");

    QSpinBox *spinBox = new QSpinBox();

    QSlider *slider = new QSlider(Qt::Horizontal);
    spinBox->setRange(0, 130);
    slider->setRange(0, 130);


    QObject::connect(slider, SIGNAL(valueChanged(int)),spinBox, SLOT(setValue(int)));
    QObject::connect(spinBox, SIGNAL(valueChanged(int)), slider, SLOT(setValue(int)));

    spinBox->setValue(25);

    QHBoxLayout *layout = new QHBoxLayout();
    layout->addWidget(spinBox);

    layout->addWidget(slider);

    mainWindow->setLayout(layout);

    mainWindow->show();

    return app.exec();
}

4. QT助手

可以通过 Q T A s s i s t a n t QT Assistant QTAssistant来查询 a p i api api和对应的类说明。