dodo's blog

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  3 Posts :: 0 Stories :: 18 Comments :: 0 Trackbacks

常用链接

留言簿(6)

我参与的团队

搜索

  •  

最新评论

阅读排行榜

评论排行榜

锚接(Make Connection)

第二个例子将会说明如何响应用户操作。程序的界面由一个按钮组成,用户在单击这个按钮之后将会退出该程序。源代码跟上一个例程Hello非常相似,区别在于这回我们用QPushButton代替QLabel作为主器件,并且我们将用一段代码把用户操作(单击鼠标)和响应函数联系起来。

下面是源代码quit.cpp的内容:

 1#include <QApplication>
 2#include <QPushButton>
 3int 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器件接收到用户操作或状态发生改变时将会发出信号。例如QPushButton在被单击后产生一个clicked()信号。一个信号可以与一个函数(Qt中叫做“槽”(slot))进行锚接,当一个信号产生时,与其锚接的槽也会被自动执行。在该例子中,我们把按钮的clicked()信号与QApplication对象的quit()槽锚接。SIGNAL()和SLOT()是Qt的宏,我们将会在下一章详细介绍。

[*]需要注意的是Qt的信号(signal)跟Unix中的信号含义不同,本书中只讨论Qt的信号。

图1.3,包含一个退出按钮的应用程序


现在创建工程并编译程序:

qmake -project
qmake quit.cpp

然后编译并运行程序,结果如图1.3。
posted on 2008-05-15 09:01 多多 阅读(708) 评论(1)  编辑 收藏 引用 所属分类: C++ GUI Programming with Qt4

Feedback

# re: C++ GUI Programming with Qt 4: 第一章,Qt概述,描接 2008-05-15 11:48 空明流转
锚接吧。。。  回复  更多评论
  


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理