Chinaunix首页 | 论坛 | 博客
  • 博客访问: 401357
  • 博文数量: 83
  • 博客积分: 1650
  • 博客等级: 上尉
  • 技术积分: 861
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-18 18:22
文章分类
文章存档

2021年(1)

2016年(1)

2015年(2)

2014年(3)

2013年(12)

2012年(16)

2011年(18)

2010年(30)

分类: LINUX

2011-04-16 00:13:22

连接信号和响应函数

这个例子用来说明怎么响应信号,和 hello 程序的源代码相似,原来的 Label 用一个按钮代替, 点击时退出程序。

源程序如下:

1 #include <QApplication>

2 #include <QPushButton>

3 int main(int argc, char *argv[])

4 {

5     QApplication app(argc, argv);

6     QPushButton *button = new QPushButton("Quit");

7     QObject::connect(button, SIGNAL(clicked()),

8                     &app, SLOT(quit()));

9     button->show();

10     return app.exec();

11 }

 

当有所动作或者状态改变,qt 的控件会发出消息(signal),例如,当点击按钮时,按钮会发

送 clicked()消息,这个消息可以连接到一个函数上(这个函数在这里成为 slot)。这样,当一个消息发送时,slot 函数可以自动执行。在这个例子中,我们连接了按钮的 clicked 信号和 QApplication 的 quit 函数,语法如第七,八行所示。

编译以上程序,将以上代码放在 quit.cpp 文件中,保存。 依次运行

qmake -project qmake

make

然后运行程序,点击 Quit 按钮,程序将会中止。

阅读(1605) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~