你的第一个QT工程目录•一、为什么选择QT•二、QT在Windows下开发环境的搭建•三、QT程序实例•四、QT进阶:信号和槽为什么选择QT基于QT开发的软件(1):GOOGLE地球基于QT的软件(1):MAYA基于QT的软件(1):更多……•Opera浏览器•Skype网络电话•QCad•AdobePhotoshopAlbum•CGAL计算几何库•……QT优越性1.优良的跨平台特性Qt支持下列操作系统:Windows,Linux,Solaris,Mac,SunOS,FreeBSD,BSD/OS,SCO,AIX,OS390,QNX等等。2.面向对象Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt提供了一种称为signals/slots信号和槽的安全类型来替代callback,具有可查询和可设计的属性,这使得各个元件之间的协同工作变得十分简单。3.丰富的APIQt包括多达500个以上的C++类,还替供基于模板的collections,serialization,file,I/Odevice,directorymanagement,date/time类。甚至还包括正则表达式的处理功能。4.大量的开发文档Network/XML/OpenGL/Database/webkit/...5.用户自定义控件其他的工具包在应用时都存在一个普遍的问题,就是经常没有真正适合需求的控件,生成的自定义控件对用户来说,也是一个黑匣子。比如,在Motif手册中就讨论了用户自定义的控件的问题。而在Qt中,能够创建控件,具有绝对的优越性,生成自定义控件非常简单,并且容易修改控件。6.方便性由于Qt是一种跨平台的GUI工具包,所以,它对编程者隐藏了在处理不同窗口系统时的潜在问题。为了将基于Qt程序更加方便,Qt包含了一系列类,该类能够使程序员避免了在文件处理、时间处理等方面存在依赖操作系统方面的细节问题。7.国际化Qt为本地化应用提供完全的支持,所有用户界面的文本或字符串都可以利用翻译工具将其译成各国语言。QT优越性8、高性能的工具对于库来讲,它的有效性远超过应用性。为了提高Qt库的有效性、快捷性,对其进行了优化,Qt能执行一些基本的任务,比如图形的润色,比一般的基于平台的代码要快。Qt是基于Xlib,而不依赖Motif工具包。可用户化的外观9、Qt支持主题所以基于Qt的应用软件能在Mac外观、Windows等外观主题之间互换,甚至改变运行时间。这些应用程序不管是在XWindow下,还是在MicrosoftWindows下都可以独立操作、运行。QT优越性10、优越的绘画功能Qt的绘画工具QPainter类,在任意一个绘图设备上都可以润色图形。绘图设备包括组件、像素映射、图形文件和打印机,相同的代码可以用在4种不同类型的设备上。QPainter类支持复杂的同等系统的转换,很容易在所有平台上画旋转文本和像素映射11、绘制2D/3D图形功能Qt提供了QGLWidget类,使用该类能够绘制2D/3D图形。用QGLWidget就像用一个Qt组件一样方便。这比纯粹的用OpenGL做的3D图形更好使用。QT使用环境配置1、新建QTApplication工程2、选择X64运行平台3、在QT5ProjectSettings中选择对应的vs版本4、尝试运行,成功则说明环境配置成功QT程序实例MenuBarMenuBarToolBarToolBarStatusBarStatusBarGroup1:Group1:图像显示区域图像显示区域Group3:Group3:选择按钮测试区域选择按钮测试区域Group2:Group2:文字测试区域文字测试区域MenuBar:ToolBar:中心组件:图像显示组:选择功能组件:文字功能组件:StatusBar:QT进阶:信号和槽QT的消息响应机制—信号和槽•Qt部件不同于其他用户交互方式的GUI工具包。用户交互方式是所有GUI(Graphicaluserinterface)应用程序关心的问题。通过将某种用户事件(比如按下鼠标)与程序事件(比如退出程序)联系起来,使用户能够在图形界面中只使用鼠标来控制程序。•而其他工具包是利用回调函数来进行用户交互的。•回调是指:你自己定义一个函数,并告诉系统何时为何调用。你可以写一个特定数量和类型参数的函数,然后告诉系统何时使用,并传递给它所需的参数,系统就会调用你定义的函数,处理参数,并给你返回值。•回调函数只能是全局函数,或者是静态函数,因•为这个函数只是在类中使用,所以为了维护类的•完整性,我们用类的静态成员函数来做回调函数。QT的主要通信机制—信号和槽•回调有两个主要缺点:•1>它们不是类型安全的。我们从来都不能确定处理函数使用了正...