您的位置:首页 > 编程语言 > Qt开发

Qt: test! test!

2016-05-19 23:14 525 查看
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();

}



 

 

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

}



 

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

}



 

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


sender , receiver: 指向QObject的指针

signal , slot: 函数名.

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

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

 

一个信号可以连接多个槽.

多个信号可以连接同一个槽.

一个信号可以与另一个信号相连接.

连接可以被移除: disconnect(sender , SIGNAL() , receiver , SLOT()
);                                                        
(第四种情况会很少用.)

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: