【C1】基本学习【S2】Making Connections

来源:互联网 发布:网络大电影是什么意思 编辑:程序博客网 时间:2024/05/30 04:34

    第二个例子要show一下如何响应用户的动作,此应用程序包含了一个按钮,用户点击它可以退出程序。源代码跟前一节的Hello非常类似,除了我们的主widget,这里我们用QPushButton取代上一节的QLabel,然后我们将用户的动作(点击按钮)连接到一段代码上。

Code:
  1. #include <QApplication>   
  2. #include <QPushButton>   
  3.   
  4. int main(int argc,char *argv[]){   
  5.     QApplication app(argc,argv);   
  6.     QPushButton *button = new QPushButton("Quit");   
  7.     QObject::connect(button,SIGNAL(clicked()),&app,SLOT(quit()));   
  8.     button->show();   
  9.     return app.exec();   
  10. }  

    Qt的widget发送各种信号来表示用户的动作或者状态的改变。例如,当用户点击这个按钮时QPushButton发送一个clicked()信号(signal)。一个信号可以连接到一个函数(在该上下文中称为槽(slot)),所以当信号被发出时,对应的槽就自动的执行。在我们的例子中,我们链接这个按钮的clicked()信号到QApplication的app对象的quit()槽上。SIGNAL和SLOT宏是语法的一部分;我们讲在下一章中解释更多它们的细节。

    注意这里的信号跟Unix的信号不搭界,在这本书中我们仅仅链接Qt的信号。

    现在build这个application,运行之。如果你点击Quit按钮,或者按空格键(等于按下按钮),这个application会中止。

原创粉丝点击