Qt入门介绍

Qt入门介绍Qt的基本概念——什么是Qt? Qt是一个跨平台的c++图形用户界面应用程序框架,它为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是面

大家好,欢迎来到IT知识分享网。
Qt入门介绍"

Qt的基本概念——什么是Qt?

Qt是一个跨平台的c++图形用户界面应用程序框架,它为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是面向对象的,很容易扩展。并且允许真正的组件编程。

Qt的起源和发展史

1991年Qt最早由奇趣科技开发;1996年进入商业领域,也是目前流行的linux桌面环境KDE的基础;2008年奇趣科技被诺基亚公司收购,qt称为诺基亚旗下的编程语言;2012年qt又被Digia公司收购;2014年4月,跨平台的集成开发环境qt Creator3.1.0发布,同5月20日配发了qt5.3正式版,至此qt实现了对IOS、Android、WP等各平台的全面支持 。

Qt所支持的平台

Windows – XP、Vista、Win7、Win8、Win2008、win10;

Uinux – linux、Sun Solaris、HP-UX、IBM AIX 、SGI IRIX 、FreeBSD 、BSD/OS;

Macintosh – Mac OS X;

Embedded – 有帧缓冲支持的嵌入式linux平台,Windows CE;

Qt中的信号和槽

信号和槽是Qt特有的信息传输机制,是Qt设计程序的重要基础,它可以让互不干扰的对象建立一种联系。

信号槽是 Qt 框架引以为豪的机制之一。所谓信号槽,实际就是观察者模式。当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal)。这种发出是没有目的的,类似广播。如果有对象对这个信号感兴趣,它就会使用连接(connect)函数,意思是,将想要处理的信号和自己的一个函数(称为槽(slot))绑定来处理这个信号。也就是说,当信号发出时,被连接的槽函数会自动被回调。这就类似观察者模式:当发生了感兴趣的事件,某一个操作就会被自动触发。

槽的本质是类的成员函数,其参数可以是任意类型的。和普通C++成员函数几乎没有区别,它可以是虚函数;也可以被重载;可以是公有的、保护的、私有的、也可以被其他C++成员函数调用。唯一区别的是:槽可以与信号连接在一起,每当和槽连接的信号被发射的时候,就会调用这个槽。

槽函数函数的定义及注意事项

槽函数可以是任意的成员函数、普通全局函数、静态函数;槽函数需要和信号一致(参数、返回值),由于信号都是没有返回值的,所以槽函数也一定没有返回值。

创建一个最简单的Qt程序,分析Qt程序中自动创建的文件

在.pro文件中:

#模块

QT += core gui

#高于qt4的版本,添加QT += widgets,为了兼容qt4

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

#应用程序的名字

TARGET = qt1

#指定makefile类型,

TEMPLATE = app

在main.cpp中:

//一个应用程序类的对象;

QApplication a(argc, argv);

//Widget继承与QWidget类,QWidget是一个窗口基类

//所以Widget是一个窗口类

//w就是一个窗口

Widget w;

//窗口是默认隐藏的,需要人为的显示

w.show();

//让程序一直执行,使用a对象的exec函数,等待用户操作。

return a.exec();

若想自己新建项目,打开QTCREATOR,在文件菜单栏选择新建文件或项目或点击菜单栏下的New Project,左侧一栏选择项目为Application(应用程序),中间一栏选择Qt Widgets Application,右侧一栏为当前项目类型的简介。然后点击右下角的choose,设置项目名(英文)和项目路径,点击下一步,选择开发组件(默认有选择),点击下一步,推荐取消选择创建界面(如果选择了创建界面,项目会带一个.ui文件,支持使用拖动控件方式设计界面),使用纯代码方式设计界面,点击完成则创建项目成功。

注意事项:Qt应用程序的安装和工程文件的建立,都要选择英文路径,以避免不必要的错误发生。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/72627.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信