QT入门之main函数中的QApplication a(argc,argv)与exec()作用_qapplication a(argc, argv)-程序员宅基地

技术标签: c++  QT  qt  开发语言  

一个最简单、最初级的QT程序如下所示

int main(int argc,char * argv[])
{
    
    QApplication a(argc,argv);
    MainWindow w;
    w.show();
    return a.exec();
}

(1)QApplication a(argc,argv);
定义一个 Qt 应用程序对象,它的构造函数接收和 main 函数一样的参数,是 Qt 图形界面程序的入口,就像 main 函数是普通 C++ 程序的入口一样。
(2)return a.exec();
会进入 Qt 应用程序的事件循环函数等待用户操作和系统的消息然后进行处理。
常见的c/c++语言main函数中都是直接return 0 的,程序直接退出。但图形程序通常需要与用户交互,不会自动关闭,而是一直等待用户操作。如果用户点击窗口的关闭按钮, 程序才会结束并返回一个值,默认是 0 。
qt中main函数开始就只是进行一个初始化工作,然后将控制权交给qt,接下来所有事件的处理就只剩下qt的事件循环处理了。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44084447/article/details/123205361

智能推荐

java jmstemplate_java – Spring JmsTemplate – 添加自定义属性-程序员宅基地

文章浏览阅读175次。我使用Spring API的JmsTemplate和MappingJackson2MessageConverter(版本:spring-jms-4.3.4.RELEASE.jar)来发布消息到ActiveMQ主题,如下面的代码所示.TopicPublisher类:@Componentpublic class TopicPublisher {@Autowiredprivate JmsTemplate..._spring 定义jmstopictemplate

初学者都能看懂的蒙特卡洛方法以及python实现_python编程蒙特卡罗-程序员宅基地

文章浏览阅读10w+次,点赞299次,收藏1.5k次。1.什么是蒙特卡洛方法(Monte Carlo method)蒙特卡罗方法也称统计模拟方法,是1940年代中期由于科学技术的发展和电子计算机的发明,而提出的一种以概率统计理论为指导的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。 20世纪40年代,在冯·诺伊曼,斯塔尼斯拉夫·乌拉姆和尼古拉斯·梅特罗波利斯在洛斯阿拉莫斯国家实验室为核武器计划工作时,发明了蒙特卡罗..._python编程蒙特卡罗

将项目部署在linux系统上,将项目部署到linux下的docker容器中-程序员宅基地

文章浏览阅读402次。此时docker是已经安装好的状态序言:介绍一下需要运行的Python项目的结构: 平时在PyCharm里面运行该工程,只要直接运行server.py文件即可 现在希望将该工程,部署到docker里面,使用容器启动:步骤如下:1:创建一个上传到Linux系统文件夹(文件名任意)docker_EF_NFCS是要上传到Linux系统,生成Docker镜像的文件夹 docker_EF_NFCS文件夹下面..._cmd ["python", "/code/package/server.py"]

用sonar扫描maven的多模块项目_多个maven工程可以一起扫描sonar规则?-程序员宅基地

文章浏览阅读1.4w次。本来想借助mvn sonar:sonar执行代码分析,但是因为父工程没有class文件,总是缺少相应的依赖;顾只能改用sonar-scanner进行。具体实施如下:1.maven多模块工程如图所示:我们可以看到此时multi-boluome工程下有dao、domain、service、web四个模块项目,且每一个都有其独立的pom.xml文件;2.因为借助sonar-scanner..._多个maven工程可以一起扫描sonar规则?

Linux:如何安装RPM呢?_ruhe xiezai rpm-程序员宅基地

文章浏览阅读1.1k次。RPM 安装( install )安装就是 install 嘛!所以啰,使用 rpm 来安装就很简单啦!假设我要安装一个档名为 rp-pppoe-3.1-5.i386.rpm 的档案,那么我可以这样( 记得某些套件可能需要以系统管理员的身份来安装 ): [root@test root]# rpm -i rp-pppoe-3.1-5.i386.rpm不过,这样的参数其实无法显示安装的进度,所以,通常我们会这样下达安装指令:  另外,如果我们在安装的过程当中发现问题,或者已经知道会发生的_ruhe xiezai rpm

php gif动态验证码,PHP实现GIF图片验证码_php技巧-程序员宅基地

文章浏览阅读256次。这是一个用PHP生成GIF动画来实现动态图片验证码的程序,非常实用,是php用户注册登录界面经常需要用到的验证码程序,有需要GIF动态图片验证码功能的朋友可以收藏一下。第一步:创建ImageCode.php文件,验证码生成函数代码如下:0) // 屏蔽第一帧{for ($k = 0; $k < strlen($authstr); $k++){$colorRandom = mt_ra..._php动画验证码

随便推点

CSS3 粘性定位实现吸顶 position: sticky_css3 吸顶-程序员宅基地

文章浏览阅读4.5k次。粘性定位 是 相对定位(relative)和 固定定位(fixed)的混合。元素在跨越特定阈值前为相对定位,之后为固定定位。著作权归作者所有。它主要用在对scroll事件的监听上;简单来说,在滑动过程中,某个元素距离其父元素的距离达到sticky粘性定位的要求时(比如top:100px);position:sticky这时的效果相当于fixed定位,固定到适当位置。注意:起作用的,除了 top..._css3 吸顶

php 去掉二维数组的id,php去掉二维数组的重复值的方法总结-程序员宅基地

文章浏览阅读263次。本篇文章主要介绍php去掉二维数组的重复值的方法总结,感兴趣的朋友参考下,希望对大家有所帮助。具体代码如下:方法一://二维数组去掉重复值function array_unique_fb($array2D){foreach ($array2D as $v){$v=join(',',$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串$temp[]=$v;}$temp=ar..._php二位数组 id去重

虚拟内存_matlab2010 虚拟内存-程序员宅基地

文章浏览阅读134次。程序代码和数据。对所有的进程来说,代码是从同一固定地址开始,紧接着的是和C 全局变量相对应的数据位置。堆。代码和数据区在进程一开始运行时就被指定了大小,与此不同,当调用像 malloc 和 free 这样的 C 标准库函数时,堆可以在运行时动态地扩展和收缩。共享库。大约在地址空间的中间部分是一块用来存放像 C 标准库和数学库这样的共享库的代码和数据的区域。栈。位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。特别地,每次我们调用..._matlab2010 虚拟内存

AI当自强:独家揭秘旷视自研人工智能算法平台Brain++-程序员宅基地

文章浏览阅读1.3k次,点赞2次,收藏5次。随着深度学习逐渐从实验室走向工业应用,各大企业都在探索构建算法架构、实现模型的工具和平台。和使用 TensorFlow 或 PyTorch 等开源框架的公司不同,旷视走向..._旷视刷掌算法

关于IDEA使用时一选中代码段光标就变粗的解决方案_idea光标变粗了怎么办-程序员宅基地

文章浏览阅读1.2k次。一、选中菜单栏中的Tool工具项二、将Vim钩子去掉三、回到IDEA操作界面,insert按键可以使光标变细,就回归正常操作了_idea光标变粗了怎么办

Java网络编程基础学习-程序员宅基地

文章浏览阅读565次。1、网络编程概述:_java网络编程基础学习

推荐文章

热门文章

相关标签