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

Qt 第一章 建立连接

2010-05-06 18:43 204 查看
1.2建立连接
第二个例子要说明的是如何响应用户的动作。应用程序由一个按钮构成,用户可以单击这个按钮退出程序。QPushButton做窗口部件,与QLabel不同之处.第一个窗口部件不一样,第二QPushBotton要用的信号与槽,当点击PushButton以后,Qt就会响应这个动作将与一段代码连接起来响应退出。
编写的程序与QLabel标签窗口部件实现很相似。
#include <QApplication>
//定义一个Qt的QApplication类头文件,所有的Qt图形化应用程序都必须包含此文件,它包含了Qt图形化应用程序的各种资源、基本设置、控制流以及事件处理等。如果Qt的非图形化应用程序,则需包含<QCoreApplication>
#include <QPushButton>
//定义一个QPushButton类头文件,对于每个类的公众Qt的Application的一部分,存在着一个相同的名称包含其定义的头文件。QPushButton是一个GUI按钮,用户可以按下和释放。它管理自己的外观和所有其他Qwidget窗口部件的动作。QPushButton小部件是一个用户界面的对象,可以处理用户输入和绘制图形。可以修改QPushButton的整体外观,如:颜色和头一些次要属性,及PushButton部件的内容。可以用QPushButton来显示任何文本或QIcon图标。
int main(int argc,char *argv[]) //应用程序的主函数的入口点,Qt的主函数只需要执行之前,通过控制权限交给Qt库,然后响应有关事件的用户的行为方案的一些初始化的类。Argc参数是命令行参数的数量,argv是命令行参数的数组。这是标准的C++功能
{
QApplication app(argc,argv);
//创建一个QApplication对象,用来管理整个应用程序所用到的资源。QApplication构造函数需要两个参数,分别是argc和argv,以便QApplication可以处理一些标准命令参数。所有的命令行参数被Qt确认删除从argv中获取,和argc相应递减。
QPushButton *button = new QPushButton(“Quit”);
//创建一个button按钮对象,并设置为显示文本”Quit”,因为没有指定父窗口,因此按钮将是其自己的窗口,有窗口框架和标题。
QObject::connect(button,SIGNAL(clicked()),&app,SLOT(quit()));
//这里QObject::connect是Qt的最重要的特征。Connect()是QObject的静态函数,这个connect()调用之间建立了两个Qt对象(对象继承QObject,直接或间接)单向连接,这里的对象为button,和QApplication应用程序自身的对象app。Qt的每个对象可以有两个信号(SIGNAL)为发送和槽(SLOT)为接受。这里定义的clicked()信号连接到退出quit()应用程序的插槽中,当点击QPushButton时,该按钮就会发送一个clicked()信号,槽就可以自动执行退出。quit()是QApplication的一个退出函数
button->show();
//将对象button窗口部件显示出来
return app.exec();
//应用程序将所有的控制权限传递给Qt。此时,程序进入事件循环状态,也就是说显示这个QPushButton窗口部件,等待用户的动作。当用户点击QuitQPushButton到松开QPushButton,完成了点击动作。这时,应用程序将这个点击鼠标信号事件发射到连接的连接槽,槽接受到clicked()信号后执行退出quit(),在退出之前,QApplication运用exec()方法,将Qt将完成事件处理及显示的工作在应用程序退出时返回exec()的值
}

[root@localhost root]# mkdir quit
//在root主目录下创建一个名为quit的目录
[root@localhost root]# cd quit/
//切换到刚才创建quit目录
[root@localhost quit]# vi quit.cpp
//用vi命令创建一个名为quit的C++程序源文件



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



[root@localhost quit]# qmake –project
//执行qmake –project生成一个与平台无关的quit.pro项目文件
[root@localhost quit]# qmake quit.pro
//执行qmake 后跟指定的quit.pro项目文件,生成一个与平台相关的Makefile文件
[root@localhost quit]# make
//执行make命令后,编译quit.cpp文件源代码,并生成quit.o目标文件及quit可执行文件



[root@localhost quit]# ./quit
//输入点反斜杠跟执行文件,点击回车,如果成功的话就会弹出一个QPushButton窗口部件出来,QPushButton显示的文本为Quit,点击Quit按钮就会退出。



初探Qt的SIGNAL and SLOT就介绍到这里。。。感谢您的阅读。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 休闲 Qt SLOT SIGNAL