为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

qt

2012-11-01 39页 ppt 564KB 37阅读

用户头像

is_187096

暂无简介

举报
qtnullQT课程QT课程QTQT编程QT编程1 QT基础2 编程: C++代码方式3 编程: QT Designer4 编程: QT CreatorQT是图形用户程序框架QT是图形用户程序框架一个基于C++语言的框架 一个专注于用户图形界面的框架 一个跨平台的框架 一个艺术级别的图形开发工具 这就是-------QT QT的由来和发展QT的由来和发展Qt是Troll Tech 开发的一个跨平台的C++图形用户界面应用程序框架。 1991年Haavard Nord 和Eirik Chambe-...
qt
nullQT课程QT课程QTQT编程QT编程1 QT基础2 编程: C++代码方式3 编程: QT Designer4 编程: QT CreatorQT是图形用户程序框架QT是图形用户程序框架一个基于C++语言的框架 一个专注于用户图形界面的框架 一个跨平台的框架 一个艺术级别的图形开发工具 这就是-------QT QT的由来和发展QT的由来和发展Qt是Troll Tech 开发的一个跨平台的C++图形用户界面应用程序框架。 1991年Haavard Nord 和Eirik Chambe-Eng于开始开发"Qt"。 1994年3月4日创立公司,最早名为Quasar Technologies,然后更名为Troll Tech 。 2005年6月27日 Qt 4.0 发布。 2008年6月17日被NOKIA公司收购,以增强该公司在跨平台软件研发方面的实力,更名Qt Software 。 2009年5月11日,诺基亚Qt Software 宣布 Qt源代码管理系统面向公众开放 。 为什么选择QT?为什么选择QT?基于C++ 简易、面向对象 优良的跨平台特性 Qt架构健壮,性能强大 Qt使用起来简便高效 Qt是开源软件 QT编程环境QT编程环境<1>QT的工具 $QTDIR/bin <2>QT的头文件 $QTDIR/include <3>QT的库 $QTDIR/lib QT编程环境QT编程环境QTDIR QMAKESPEC PATH 例子一:hello world例子一:hello world<1> 检查有没有 qmake。 <2> 建立一个新的文件夹,命名为hello。 <3> 创建一个新的源程序文件 hello.cpp,编辑代码。 <4> qmake –project生成项目文件 hello.pro。 <5> qmake hello.pro生成makefile。 <6> 执行 make 命令。 <7> 执行生成的可执行程序。代码代码分析例子一代码解析: <1> 对于每一个Qt类,都有一个与该类同名的头文件,在这个头文件中包含了对这个类的定义。 <2> 创建了一个QApplication的对象,用来管理整个应用程序所用到的资源。 <3> 创建了一个QLabel类的对象,也可以叫做窗口部件。 <4> 创建窗口部件的时候,标签(QLabel)通常都是隐藏的,这就允许我们先对其进行设置,然后再显示他们。代码分析代码分析<5> app.exec() 将程序的控制权传递给qt 这个时候程序就会进入事件循环状态,等待用户的动作。 备注:帮助手册查询 QLabel 类 qt中的乱码问题qt中的乱码问题QTextCodec 类的使用 例子二:程序的退出例子二:程序的退出<1> 功能:用户可以通过点击一个按钮,使对话框退出运行。 <2> 创建一个新的文件夹,命名为 quit。 <3> 创建一个新的源程序文件,叫做quit.cpp,编辑代码。 <4> 编译运行。 代码分析代码分析<1> 使用帮助手册查询 QPushButton <2> 信号与槽初步概念。 <3>Qt的窗口部件通过发射信号(signal)来表明一个用户动作已经发生或者是一个状态已经改变。 <4> 把窗口部件发射的信号和一个函数连接起来QObject::connect(button,SIGNAL(clicked()),&app,SLOT(quit()))。 例子三:输入用户年龄例子三:输入用户年龄<1> 功能:用户可以通过微调框和滑块来输入年龄 <2> 创建一个新的文件夹,命名为age <3> 创建age.cpp,编辑代码 <4>编译运行 输入年龄程序效果图输入年龄程序效果图代码分析代码分析例子三代码分析: <1> 由三个窗口部件组成:QSpinBox QSlider QWidget <2> 通过方法setWindowTitle()函数来设置显示在窗口标题栏上的文字。 <3>如何改变对象的大小和位置。 <4>初步掌握信号和槽 C++方式组织代码C++方式组织代码代码的组织规则: 头文件和实现分离 有自定义信号和槽要用Q_OBJECT 以窗体或者对话框作为封装用户ui代码的基本单元 窗体与对话框中的组件都封装成成员加法器的实现加法器的实现加法器类的实现 信号和槽信号和槽信号和槽: <1> 信号和槽是qt编程的基础,可以使互不相干的对象绑定在一起 <2> 槽可以和信号连接在一起,这样绑定之后,每当发射(触发)这个信号的时候,就会自动的调用这个槽。 <3> 如果在类中要定义信号 槽 必须宏 Q_OBJECT; <4> 定义信号 public:signals: 定义槽函数 public slots: <5> 使用connect进行连接: connect(sender,SIGNAL(signal),receiver,SLOT(slot)); <6>连接可以被移除 disconnect(lcd,SIGNAL(overflow()),this,SLOT(handleMathError()));信号和槽信号和槽补充: <1> 一个信号可以连接多个槽 <2> 多个信号可以连接一个槽 <3> 一个信号可以与另外一个信号相连接 当发射第一个信号的时候,也会发射第二个信号。 <4>当删除对象的时候,Qt会自动的移除和这个对象相关的所有连接。 结合前面的例子: 是不是任意的信号和槽都可以进行连接呢? 信号和槽信号和槽使用connect需要注意: <1> 要把信号成功的连接到槽(或者信号),他们的参数必须要有相同的顺序和相同的类型 <2> 在使用connect函数的时候信号和槽函数不能包含参数的名字。自定义信号和槽自定义信号和槽举例:点击按钮发送当前时间 1.掌握自定义信号和槽 2.使用QTime类 QString类 3.qt中字符串和基本类型之间的转换DesignerDesignerDesigner: <1> 简单的来说 QT Designer 是一个 GUI 的工具. 这个工具可以帮助我们来加快写 QT程式的速度. 利用 QT Designer 可以用一种所见既所得的方式,来产生 QT 程式的GUI 介面的程式码。 <2> 命令行下:键入命令 designer。 <3> 开发者Preferences 偏爱 优先选择。Designer的使用Designer的使用改变年龄值的再实现 Designer的使用Designer的使用加法器的再实现 QT编程: Creator 方式QT编程: Creator 方式Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE)。此 IDE 能够跨平台运行,支持的系统包括 Linux(32位及64 位)、Mac OS X 以及 Windows。根据官方描述,Qt Creator 的目标是使开发人员能够利用 Qt 这个应用程序框架更加快速及轻易的完成开发任务。QT Creator下载QT Creator下载 http://qt.nokia.com/downloads 下载 creatorcreator举例一:使用creator实现hello world <1> File -> New <2> Qt4 Gui Application <3> 输入名和要保存到的文件夹路径 <4> 这时软件自动添加基本的头文件,因为这个程序我们不需要其他的功能,所以直接点击Next。 <5> 我们将base class选为QDialog对话框类。然后点击Next。 <6>点击Finish,完成工程的建立。creatorcreator<7> 我们可以直接按下下面的绿色的run按钮或者按下Ctrl+R快捷键运行程序。 <8>双击文件列表的dialog.ui文件,进入界面编辑模式 <9>我们在右边的器件栏里找到Label标签器件。 <10>按着鼠标左键将其拖到设计窗口上。 <11>我们双击它,并将其内容改为helloworld。 <12>我们在右下角的属性栏里将字体大小由9改为15。 <13>再次按下运行按钮,便会出现helloworld。creatorcreator举例二:登录对话框 功能:在弹出对话框中填写用户名和密码,按下登录按钮,如果用户名和密码均正确则进入主窗口,如果有错则弹出警告消息框。 creatorcreator登录效果图: 实现简单的记事本实现简单的记事本建立菜单 添加资源 实现action qt的事件qt的事件事件是由窗口系统或者Qt自身产生的,用以响应所发生的各类事件。当用户按下或者松开键盘或者鼠标的时候,就会产生一个键盘或者鼠标事件。当某一个窗口第一次显示的时候,就会产生一个绘制事件,用来告知窗口需要重新绘制它本身,从而使得该窗口可见,大多数事件是作为用户动作的响应而产生的,当然也有一些例外,比如定时器事件,是由系统独立产生的。 在Qt中,事件就是一个QEvent子类的一个实例,Qt处理的事件类型有一百多种,每一种都可以通过一个枚举值来进行识别,例如:QEvent::type() 可以返回处理鼠标按键事件的QEvent::MouseButtonPress。 事件和信号事件和信号使用QT编程开发的时候,基本不需要考虑事件,因为在发生某些重要事件的时候,QT窗口部件都会发射信号。当我们编写自定义窗口部件的时候,或者是我们希望改变已经存在的Qt窗口部件的行为的时候,事件就变得很有用了。 不要混淆 “事件”和“信号”这两个概念,一般情况下在使用窗口的时候,信号是十分有用的,而在实现窗口部件的时候,事件是十分有用的。 例如,当使用QPushButton的时候,我们关注它的clicked()信号,很少关心发射这个信号的底层的鼠标或者键盘事件,但是如果要实现一个类似于QPushButton 的类,就需要编写一定的处理鼠标和键盘事件的代码。 常见的事件处理函数常见的事件处理函数void timerEvent(QTimerEvent *e); void paintEvent(QPaintEvent *e); void keyPressEvent(QKeyEvent *e); void mousePressEvent(QMouseEvent *e); 事件和信号事件和信号案例:定时器与定时器事件 综合应用综合应用案例:摇奖器综合应用综合应用案例:贪吃蛇nullThanks
/
本文档为【qt】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索