ImageVerifierCode 换一换
格式:DOCX , 页数:105 ,大小:6.92MB ,
资源ID:4754064      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4754064.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(qt creator实战教程.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

qt creator实战教程.docx

1、qt creator实战教程qt creator实战教程c一、Qt Creator 的安装和 hello world 程序的编写(原创)1.首先到 Qt 的官方网站上下载 Qt Creator,这里我们下载 windows 版的。下载地址: 如下图我们下载:Download Qt SDKfor Windows* (178Mb)下载完成后,直接安装即可,安装过程中按默认设置即可。2.运行 Qt Creator,首先弹出的是欢迎界面,这里可以打开其自带的各种演示程序。3.我们用 File-New 菜单来新建工程。4.这里我们选择 Qt4 Gui Application。5.下面输入工程名和要保存到

2、的文件夹路径。我们这里的工程名为 helloworld。6.这时软件自动添加基本的头文件,因为这个程序我们不需要其他的功能,所以直接点击 Next。7.我们将 base class 选为 QDialog 对话框类。然后点击 Next。8.点击 Finish,完成工程的建立。9.我们可以看见工程中的所有文件都出现在列表中了。我们可以直接按下下面的绿色的 run 按钮或者按下 Ctrl+R 快捷键运行程序。10.程序运行会出现空白的对话框,如下图。11.我们双击文件列表的 dialog.ui 文件,便出现了下面所示的图形界面编辑界面。12.我们在右边的器件栏里找到 Label 标签器件13.按着鼠

3、标左键将其拖到设计窗口上,如下图。14.我们双击它,并将其内容改为 helloworld。15.我们在右下角的属性栏里将字体大小由 9 改为 15。16.我们拖动标签一角的蓝点,将全部文字显示出来。17.再次按下运行按钮,便会出现 helloworld。到这里 helloworld 程序便完成了。Qt Creator 编译的程序,在其工程文件夹下会有一个 debug文件夹,其中有程序的.exe 可执行文件。但 Qt Creator 默认是用动态链接的,就是可执行程序在运行时需要相应的.dll 文件。我们点击生成的.exe 文件,首先可能显示“没有找到 mingwm10.dll,因此这个应用程序

4、未能启动。重新安装应用程序可能会修复此问题。”表示缺少 mingwm10.dll 文件。解决这个问题我们可以将相应的.dll 文件放到系统中。在 Qt Creator 的安装目录的 qt 文件下的 bin 文件夹下(我安装在了 D 盘,所以路径是 D:Qt2009.04qtbin),可以找到所有的相关.dll 文件。在这里找到 mingwm10.dll 文件,将其复制到 C:WINDOWSsystem 文件夹下,即可。下面再提示缺少什么 dll 文件,都像这样解决就可以了。二、Qt Creator 编写多窗口程序(原创)实现功能:程序开始出现一个对话框,按下按钮后便能进入主窗口,如果直接关闭这

5、个对话框,便不能进入主窗口,整个程序也将退出。当进入主窗口后,我们按下按钮,会弹出一个对话框,无论如何关闭这个对话框,都会回到主窗口。实现原理:程序里我们先建立一个主工程,作为主界面,然后再建立一个对话框类,将其加入工程中,然后在程序中调用自己新建的对话框类来实现多窗口。实现过程:1.首先新建 Qt4 Gui Application 工程,工程名为 nGui,Base class 选为 QWidget。建立好后工程文件列表如下图。2.新建对话框类,如下图,在新建中,选择 Qt Designer Form Class。3.选择 Dialog without Buttons。4.类名设为 myDl

6、g。5.点击 Finish 完成。注意这里已经默认将其加入到了我们刚建的工程中了。6.如下图,在 mydlg.ui 中拖入一个 Push Button,将其上的文本改为“进入主窗口”,在其属性窗口中将其 objectName 改为 enterBtn,在下面的 Signals andslots editor 中进行信号和槽的关联,其中,Sender 设为 enterBtn,Signal设为 clicked(),Receive 设为 myDlg,Slot 设为 accept()。这样就实现了单击这个按钮使这个对话框关闭并发出 Accepted 信号的功能。下面我们将利用这个信号。7.修改主函数 m

7、ain.cpp,如下:#include #include widget.h#include mydlg.h/加入头文件int main(int argc, char *argv)QApplication a(argc, argv);Widget w;myDlg my1;/建立自己新建的类的对象 my1if(my1.exec()=QDialog:Accepted)断 enterBtn 是否被按下w.show();return a.exec();关闭/利用 Accepted 信号判/如果被按下,显示主窗口/程序一直执行,直到主窗口else return 0;/如果没被按下,则不会进入主窗口,整个程

8、序结束运行主函数必须这么写,才能完成所要的功能。如果主函数写成下面这样:#include #include widget.h#include mydlg.hint main(int argc, char *argv)QApplication a(argc, argv);myDlg my1;if(my1.exec()=QDialog:Accepted)Widget w;w.show();return a.exec();这样,因为 w 是在 if 语句里定义的,所以当 if 语句执行完后它就无效了。这样导致的后果就是,按下 enterBtn 后,主界面窗口一闪就没了。如果此时对程序改动了,再次点击

9、运行时,就会出现 error: collect2: ld returned 1 exitstatus 的错误。这是因为虽然主窗口没有显示,但它只是隐藏了,程序并没有结束,而是在后台运行。所以这时改动程序,再运行时便会出错。你可以按下调试栏上面的红色 Stop 停止按钮来停止程序运行。你也可以在 windows 任务管理器的进程中将该进程结束,而后再次运行就没问题了,当然先关闭 Qt Creator,而后再重新打开,这样也能解决问题。如果把程序改为这样:#include #include widget.h#include mydlg.hint main(int argc, char *argv)

10、QApplication a(argc, argv);myDlg my1;Widget w;if(my1.exec()=QDialog:Accepted)w.show();return a.exec();这样虽然解决了上面主窗口一闪而过的问题,但是,如果在 my1 对话框出现的时候不点 enterBtn,而是直接关闭对话框,那么此时整个程序应该结束执行,但是事实是这样的吗?如果你此时对程序进行了改动,再次按下 run 按钮,你会发现又出现了 error: collect2: ld returned 1 exit status 的错误,这说明程序并没有结束,我们可以打开 windows 任务管理

11、器,可以看到我们的程序仍在执行。因为 return a.exec();一句表示只要主窗口界面不退出,那么程序就会一直执行。所以只有用第一种方法,将该语句也放到 if 语句中,而在 else语句中用 else return 0; ,这样如果 enterBtn 没有被按下,那么程序就会结束执行了。到这里,我们就实现了一个界面结束执行,然后弹出另一个界面的程序。下面我们在主窗口上加一个按钮,按下该按钮,弹出一个对话框,但这个对话框关闭,不会使主窗口关闭。8.如下图,在主窗口加入按钮,显示文本为“弹出一个对话框”,在其上点击鼠标右键,在弹出的菜单中选择 go to slot。9.我们选择单击事件 cl

12、icked()。10.我们在弹出的槽函数中添加一句:my2.show();my2 为我们新建对话框类的另一个对象,但是 my2 我们还没有定义,所以在 widget.h 文件中添加相应代码,如下,先加入头文件,再加入 my2 的定义语句,这里我们将其放到 private 里,因为一般的函数都放在 public 里,而变量都放在 private 里。#ifndef WIDGET_H#define WIDGET_H#include #include mydlg.h/包含头文件namespace Uiclass Widget;class Widget : public QWidgetQ_OBJECT

13、public:Widget(QWidget *parent = 0);Widget();private:Ui:Widget *ui;myDlg my2;/对 my2 进行定义private slots:void on_pushButton_clicked();#endif / WIDGET_H到这里,再运行程序,便能完成我们实验要求的功能了。整个程序里,我们用两种方法实现了信号和槽函数的关联,第一个按钮我们直接在设计器中实现其关联;第二个按钮我们自己写了槽函数语句,其实图形的设计与直接写代码效果是一样的。这个程序里我们实现了两类窗口打开的方式,一个是自身消失而后打开另一个窗口,一个是打开另一个

14、窗口而自身不消失。可以看到他们实现的方法是不同的。三、Qt Creator 登录对话框(原创)实现功能:在弹出对话框中填写用户名和密码,按下登录按钮,如果用户名和密码均正确则进入主窗口,如果有错则弹出警告对话框。实现原理:通过上节的多窗口原理实现由登录对话框进入主窗口,而用户名和密码可以用if 语句进行判断。实现过程:1.先新建 Qt4 Gui Application 工程,工程名为 mainWidget,选用 QWidget 作为 Base class,这样便建立了主窗口。文件列表如下:2.然后新建一个 Qt Designer Form Class 类,类名为 loginDlg,选用 Dia

15、logwithout Buttons,将其加入上面的工程中。文件列表如下:3.在 logindlg.ui 中设计下面的界面:行输入框为 Line Edit。其中用户名后面的输入框在属性中设置其 object Name 为 usrLineEdit,密码后面的输入框为pwdLineEdit,登录按钮为 loginBtn,退出按钮为 exitBtn。4.将 exitBtn 的单击后效果设为退出程序,关联如下:5.右击登录按钮选择 go to slot,再选择 clicked(),然后进入其单击事件的槽函数,写入一句void loginDlg:on_loginBtn_clicked()accept()

16、;6.改写 main.cpp:#include #include widget.h#include logindlg.hint main(int argc, char *argv)QApplication a(argc, argv);Widget w;loginDlg login;if(login.exec()=QDialog:Accepted)w.show();return a.exec();else return 0;7.这时执行程序,可实现按下登录按钮进入主窗口,按下退出按钮退出程序。8.添加用户名密码判断功能。将登陆按钮的槽函数改为:void loginDlg:on_loginBtn_

17、clicked()if(m_ui-usrLineEdit-text()=tr(qt)&m_ui-pwdLineEdit-text()=tr(123456)/判断用户名和密码是否正确accept();elseQMessageBox:warning(this,tr(Warning),tr(user name or passworderror!),QMessageBox:Yes);/如果不正确,弹出警告对话框并在 logindlg.cpp 中加入#include 的头文件。如果不加这个头文件,QMessageBox 类不可用。9.这时再执行程序,输入用户名为 qt,密码为 123456,按登录按钮便

18、能进入主窗口了,如果输入错了,就会弹出警告对话框。如果输入错误,便会弹出警告提示框:10.在 logindlg.cpp 的 loginDlg 类构造函数里,添上初始化语句,使密码显示为小黑点。loginDlg:loginDlg(QWidget *parent) :QDialog(parent),m_ui(new Ui:loginDlg)m_ui-setupUi(this);m_ui-pwdLineEdit-setEchoMode(QLineEdit:Password);效果如下:11.如果输入如下图中的用户名,在用户名前不小心加上了一些空格,结果程序按错误的用户名对待了。我们可以更改 if 判

19、断语句,使这样的输入也算正确。void loginDlg:on_loginBtn_clicked()if(m_ui-usrLineEdit-text().trimmed()=tr(qt)&m_ui-pwdLineEdit-text()=tr(123456)accept();elseQMessageBox:warning(this,tr(Warning),tr(user name or passworderror!),QMessageBox:Yes);加入的这个函数的作用就是移除字符串开头和结尾的空白字符。12.最后,如果输入错误了,重新回到登录对话框时,我们希望可以使用户名和密码框清空并且光标

20、自动跳转到用户名输入框,最终的登录按钮的单击事件的槽函数如下:void loginDlg:on_loginBtn_clicked()if(m_ui-usrLineEdit-text().trimmed()=tr(qt)&m_ui-pwdLineEdit-text()=tr(123456)/判断用户名和密码是否正确accept();elseQMessageBox:warning(this,tr(Warning),tr(user name or passworderror!),QMessageBox:Yes);/如果不正确,弹出警告对话框m_ui-usrLineEdit-clear();/清空用户

21、名输入框m_ui-pwdLineEdit-clear();/清空密码输入框m_ui-usrLineEdit-setFocus();/将光标转到用户名输入框四、Qt Creator 添加菜单图标(原创)在下面的几节,我们讲述 Qt 的 MainWindow 主窗口部件。这一节只讲述怎样在其上的菜单栏里添加菜单和图标。1.新建 Qt4 Gui Application 工程,将工程命名为 MainWindow,其他选项默认即可。生成的窗口界面如下图。其中最上面的为菜单栏。2.我们在 Type Here 那里双击,并输入“文件(&F)”,这样便可将其文件菜单的快捷键设为 Alt+F。(注意括号最好用英

22、文半角输入,这样看着美观)3.输入完按下 Enter 键确认即可,然后在子菜单中加入“新建(&N)”,确定后,效果如下图。4.我们在下面的动作编辑窗口可以看到新加的“新建”菜单。5.双击这一条,可打开它的编辑对话框。我们看到 Icon 项,这里可以更改“新建”菜单的图标。6.我们点击后面的.号,进入资源选择器,但现在这里面是空的。所以下面我们需要给该工程添加外部资源。7.添加资源有两种方法。一种是直接添加系统提供的资源文件,然后选择所需图标。另一种是自己写资源文件。我们主要介绍第一种。新建 Qt Resources file,将它命名为 menu。其他默认。8.添加完后如下图。可以看到添加的文

23、件为 menu.qrc。9.我们最好先在工程文件夹里新建一个文件夹,如 images,然后将需要的图标文件放到其中。10.在 Qt Creator 的 menu.qrc 文件中,我们点击 Add 下拉框,选择 Add Prefix。我们可以将生成的/new/prefix 前缀改为其他名字,如/File。11.然后再选择 Add 下拉框,选择 Add Files。再弹出的对话框中,我们到新建的 images 文件夹下,将里面的图标文件全部添加过来。12.添加完成后,我们在 Qt Creator 的 File 菜单里选择 Save All 选项,保存所做的更改。13.这时再打开资源选择器,可以看到

24、我们的图标都在这里了。(注意:如果不显示,可以按一下上面的 Reload 按钮)14.我们将 new.png 作为“新建”菜单的图标,然后点击 Shortcut,并按下Crtl+N,便能将 Crtl+N 作为“新建”菜单的快捷键。15.这时打开文件菜单,可以看到“新建”菜单已经有图标了。运行程序后效果如下。16.我们在工程文件夹下查看建立的 menu.qrc 文件,可以用写字板将它打开。其具体内容如下。附:第二种添加资源文件的方法。1.首先右击工程文件夹,在弹出的菜单中选择 Add New,添加新文件。也可以用File 中的添加新文件。2.我们选择文本文件。3.将文件名设置为 menu.qrc

25、。4.添加好文件后将其内容修改如下。可以看到就是用第一种方法生成的menu.qrc 文件的内容。5.保存文件后,在资源管理器中可以看到添加的图标文件。五、Qt Creator 布局管理器的使用(原创)上篇讲解了如何在 Qt Creator 中添加资源文件,并且为菜单添加了图标。这次我们先对那个界面进行一些完善,然后讲解一些布局管理器的知识。首先对菜单进行完善。1.我们在上一次的基础上再加入一些常用菜单。“文件”的子菜单如下图。中间的分割线可以点击 Add Separator 添加。“编辑”子菜单的内容如下。“帮助”子菜单的内容如下。2.我们在动作编辑器中对各个菜单的属性进行设置。如下图。3.我

26、们拖动“新建”菜单的图标,将其放到工具栏里。拖动“新建”菜单的图标。将其放到菜单栏下面的工具栏里。4.我们再添加其他几个图标。使用 Append Separator 可以添加分割线。5.最终效果如下。如果需要删除图标,可以在图标上点击右键选择 Remove action即可。下面简述一下布局管理器。(这里主要以垂直布局管理器进行讲解,其他类型管理器用法与之相同,其效果可自己验证。)1.在左边的器件栏里拖入三个 PushButton 和一个 Vertical Layout(垂直布局管理器)到中心面板。如下图。2.将这三个按钮放入垂直布局管理器,效果如下。可以看到按钮垂直方向排列,并且宽度可以改变

27、,但高度没有改变。3.我们将布局管理器整体选中,按下上面工具栏的 Break Layout 按钮,便可取消布局管理器。(我们当然也可以先将按钮移出,再按下 Delete 键将布局管理器删除。)4.下面我们改用分裂器部件(QSplitter)。先将三个按钮同时选中,再按下上面工具栏的 Lay Out Vertically in Splitter(垂直分裂器)。效果如下图。可以看到按钮的大小可以随之改动。这也就是分裂器和布局管理器的分别。5.其实布局管理器不但能控制器件的布局,还有个很重要的用途是,它能使器件的大小随着窗口大小的改变而改变。我们先在主窗口的中心拖入一个文本编辑器 Text Edit

28、。这时直接运行程序,效果如下。可以看到它的大小和位置不会随着窗口改变。下面我们选中主窗口部件,然后在空白处点击鼠标右键,选择 Layout-Lay Outin a Grid,使整个主窗口的中心区处于网格布局管理器中。可以看到,这时文本编辑器已经占据了整个主窗口的中心区。运行一下程序,可以看到无论怎样拉伸窗口,文本编辑框的大小都会随之改变。我们在这里一共讲述了三种使用布局管理器的方法,一种是去器件栏添加,一种是用工具栏的快捷图标,还有一种是使用鼠标右键的选项。程序中用到的图标是我从 Ubuntu 中复制的,可以到http:/www.qtcn.org/bbs/read.php?tid=23252&page=1&toread=1 下载到。六、Qt Creator 实现文本编辑(原创)前面已经将界面做好了,这里我们为其添加代码,实现文本编辑的功能。首先实现新建文件,文件保存,和文件另存为的功能。(我们先将上次的工程文件夹进行备份,然后再对其进行修改。在写较大的程序时,经常对源文件进行备份,是个很好的习惯。)在开始正式写程序之

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1