Qt: test! test!

1. my first QT program.cpp

#include <QApplication>
#include <QHBoxLayout>
#include <QSlider>
#include <QSpinBox>

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

    QWidget *window = new QWidget;       //创建一个框体.
    window->setWindowTitle("My first QT program!!");

    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(40);   //滑动器设置初始值.

    QHBoxLayout *layout = new QHBoxLayout;     //设置布局.
    layout->addWidget(spinBox);
    layout->addWidget(slider);
    window->setLayout(layout);

    window->show();

    return app.exec();
}

Qt: <wbr>test! <wbr>test!

 

 

2. hello.cpp

#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();
}

Qt: <wbr>test! <wbr>test!

 

3. button.cpp

#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();
}

Qt: <wbr>test! <wbr>test!

 

connect(sender , SIGNAL( signal() ) , receiver , SLOT( slot() ) );

sender , receiver: 指向QObject的指针

signal , slot: 函数名.

例子:connect(button , SIGNAL( clicked() ) , &app , SLOT( quit() ) );

解释:当button按钮接收到点击信号就关闭app窗口.

 

  1. 一个信号可以连接多个槽.
  2. 多个信号可以连接同一个槽.
  3. 一个信号可以与另一个信号相连接.
  4. 连接可以被移除: disconnect(sender , SIGNAL() , receiver , SLOT() );                                                         (第四种情况会很少用.)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值