Qt: test! test!

来源:互联网 发布:js导出csv 编辑:程序博客网 时间:2024/06/07 06:04

1. my first QTprogram.cpp

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

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

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

    QSpinBox*spinBox = newQSpinBox;   //自旋按钮
    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 = newQHBoxLayout;    //设置布局.
   layout->addWidget(spinBox);
   layout->addWidget(slider);
   window->setLayout(layout);

   window->show();

    returnapp.exec();
}

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

 

 

2. hello.cpp

#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
    QApplicationapp(argc, argv);
    QLabel*label = new QLabel("Hello Qt!");
   label->show();
    returnapp.exec();
}

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

 

3. button.cpp

#include <QApplication>
#include <QPushButton>

int main(int argc, char *argv[])
{
    QApplicationapp(argc, argv);
    QPushButton*button = new QPushButton("Quit");
   QObject::connect(button ,  SIGNAL(clicked()) ,&app ,  SLOT(quit()) );
   button->show();
    returnapp.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
原创粉丝点击