第一章 开始(创建连接)

发布: 2008-05-29 22:22

创建连接


第二个例子将向你展示怎样来回应用户的动作。这个应用程序包含了一个用户可以通过点击它来结束该应用程序的按钮。程序的源代码和上一个 Hello 实例的源代码类似,除了我们用一个 QPushButton 代替 QLabel 作为我们的主窗口物件,并且我们将连接一个用户动作(点击按钮)和一段程序代码。


这个程序的源代码可以在随书赠送的 CD 的这个文件中获得 /examples/chap01/quit/quit.cpp。下面是这个文件的内容:


 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 的物件发出信号说明一个用户的动作或者一个状态改变发生了。[*] 例如,当用户点击按钮后 QPushButton 物件发出一个 clicked () 信号。一个信号可以被用来连接一个函数(这个函数在 Qt 中就被称为槽),所以当这个信号被发出时,这个槽就会自动地执行。在我们的实例中,我们将按钮物件发出的 click () 信号连接到 QApplication 物件的 quit () 槽上。SIGNAL() SLOT() 宏指令是 Qt 语法的一部分;我们将在下一章对它们进行详细解释。


[*] Qt 的信号和 Unix 的信号不一样。在本书中,我们只关心 Qt 的信号。


1.3. The Quit application


 


我们现在将编译这个程序。我们假设你已经创建了一个名为 quit 的目录保存quit.cpp 文件。在这个目录下执行 qmake 命令生成工程文件,然后再次运行这个命令生成一个 makefile 文件,命令如下:


qmake -project

qmake quit.pro

现在编译这个应用程序,运行它。如果你点击 Quit 按钮,程序将终止。



原文: http://qtchina.tk/?q=node/88

Powered by zexport