QtCreator快速入门经典

合集下载

Qt_Creator系列教程

Qt_Creator系列教程

一、Qt Creator的安装和hello world程序的编写(原创)1.首先到Qt的官方网站上下载Qt Creator,这里我们下载windows版的。

下载地址:/downloads如下图我们下载:Download Qt SDK for Windows* (178Mb)下载完成后,直接安装即可,安装过程中按默认设置即可。

2.运行Qt Creator,首先弹出的是欢迎界面,这里可以打开其自带的各种演示程序。

3.我们用File->New菜单来新建工程。

4.这里我们选择Qt4 Gui Application。

5.下面输入工程名和要保存到的文件夹路径。

我们这里的工程名为helloworld。

6.这时软件自动添加基本的头文件,因为这个程序我们不需要其他的功能,所以直接点击Next。

7.我们将base class选为QDialog对话框类。

然后点击Next。

8.点击Finish,完成工程的建立。

9.我们可以看见工程中的所有文件都出现在列表中了。

我们可以直接按下下面的绿色的run按钮或者按下Ctrl+R快捷键运行程序。

10.程序运行会出现空白的对话框,如下图。

11.我们双击文件列表的dialog.ui文件,便出现了下面所示的图形界面编辑界面。

12.我们在右边的器件栏里找到Label标签器件13.按着鼠标左键将其拖到设计窗口上,如下图。

14.我们双击它,并将其内容改为helloworld。

15.我们在右下角的属性栏里将字体大小由9改为15。

16.我们拖动标签一角的蓝点,将全部文字显示出来。

17.再次按下运行按钮,便会出现helloworld。

到这里helloworld程序便完成了。

Qt Creator编译的程序,在其工程文件夹下会有一个debug 文件夹,其中有程序的.exe可执行文件。

但Qt Creator默认是用动态链接的,就是可执行程序在运行时需要相应的.dll文件。

我们点击生成的.exe文件,首先可能显示“没有找到mingwm10.dll,因此这个应用程序未能启动。

《QTCreator快速入门》第十二章:3D绘图

《QTCreator快速入门》第十二章:3D绘图

《QTCreator快速⼊门》第⼗⼆章:3D绘图OpenGL是⼀套跨平台的⽤来渲染3D图形的API。

OpenGL⾃⾝是⼀个巨⼤的状态机:⼀系列的变量描述OpenGL此刻应当如何运⾏,OpenGL的状态通常被称为OpenGL上下⽂(Context)。

我们通常使⽤如下途径去更改OpenGL状态:设置选项,操作缓冲,最后,我们使⽤当前OpenGL上下⽂来渲染。

假设当我们想告诉OpenGL去画线段⽽不是三⾓形的时候,我们通过改变⼀些上下⽂变量来改变OpenGL状态,从⽽告诉OpenGL如何去绘图。

⼀旦我们改变了OpenGL的状态为绘制线段,下⼀个绘制命令就会画出线段⽽不是三⾓形。

当使⽤OpenGL的时候,我们会遇到⼀些状态设置函数,这类函数将会改变上下⽂。

以及状态使⽤函数,这类函数会根据当前OpenGL的状态执⾏⼀些操作。

⽐如下⾯例⼦中的glClearColor()函数是⼀个状态设置函数,⽽glClear()函数则是⼀个状态使⽤的函数,它使⽤了当前的状态来获取应该清除为的颜⾊。

Qt中的QtOpenGL模块提供了使⽤OpenGL的⽅法,使⽤它需要在.pro项⽬⽂件中添加QT+=opengl。

QGLWidget是QtOpenGL模块中的⼀个类,它是⼀个⽤来渲染OpenGL图形的部件,可以继承该类后来像使⽤其它QWidget部件⼀样使⽤它。

QGLWidget提供了3个虚函数重写它们来实现指定操作:initializeGL():设置OpenGL渲染环境,定义显⽰列表等,只在resizeGL()、paintGL()之前被调⽤⼀次。

resizeGL():设置OpenGL的视⼝,投影等,部件⼤⼩改变的时候被调⽤。

paintGL():渲染OpenGL场景,当部件需要更新时被调⽤。

Qt中有⼀个Hello GL⽰例程序,它在OpenGL分类中。

1、基本绘制下⾯代码使⽤QGLWidget绘制了⼀个直线、三⾓形、⽂本,其中的MyGLWidget继承⾃QGLWidget:#include <QApplication>#include "myglwidget.h"int main(int argc, char**argv){QApplication app(argc, argv);MyGLWidget w;w.resize(600, 400);w.show();return app.exec();}View Code#ifndef MYGLWIDGET_H#define MYGLWIDGET_H#include <QGLWidget>#include <GL/glu.h>class MyGLWidget: public QGLWidget{void initializeGL(){//void glClearColor(GLclampf red,GLclampf green,GLclampf blue,GLclampf alpha);glClearColor(1.0, 0.0, 0.0, 0.0); //设置清除屏幕(glClear()⽅法)时使⽤的颜⾊为红⾊glShadeModel(GL_SMOOTH); //设置阴影平滑//void glClearDepth(GLclampd depth);glClearDepth(1.0); //设置深度缓存(深度缓冲区中每个像素需要的值)glEnable(GL_DEPTH_TEST); //启⽤深度测试功能,根据坐标的远近⾃动隐藏被遮住的图形(材料)}void resizeGL(int w, int h){//设置视⼝的⼤⼩:告诉OpenGL渲染窗⼝的尺⼨⼤⼩//也可以将视⼝的维度设置为⽐窗⼝的维度⼩,这样OpenGL渲染将会在⼀个⼩窗⼝中显⽰,这样⼦我们也可以将⼀些其它元素显⽰在OpenGL视⼝之外glViewport(0, 0, (GLint)w, (GLint)h);glMatrixMode(GL_PROJECTION); //投影矩阵模式glLoadIdentity(); //重置当前指定的矩阵为单位矩阵,这样可以将矩阵恢复到初始状态。

【精品课程】Qt Creator快速入门教程课件第2章HelloWorld程序

【精品课程】Qt Creator快速入门教程课件第2章HelloWorld程序

快速入门教程
主要内容
⏹2.1 编写HelloWorld程序(第1课时)
⏹2.2 程序的运行与发布(第1课时)
⏹2.3 helloworld程序源码与编译过程详解(第2课时)⏹2.4 项目模式和项目文件介绍(第2课时)
⏹2.5 小结(第2课时)
2.1 编写HelloWorld程序
什么是Hello World程序?
就是让应用程序显示“Hello World”字符串。

这是最简单的应用,但却包含了一个应用程序的基本要素,所以一般使用它来演示程序的创建过程。

在本节中要讲的就是在Qt Creator中创建一个图形用户界面的项目,来生成一个可以显示“Hello World”字符串的程序。

新建Qt Gui应用分五个步骤:
⏹第一步,选择项目模板。

⏹第二步,输入项目信息。

⏹第三步,选择构建套件。

⏹第四步,输入类信息。

⏹第五步,设置项目管理。

第一步,选择项目模板。

打开“文件→新建文件或项目”菜单项(也可以直接按下Ctrl+N快捷键,或者单击欢迎模式中的“Create
Project”按钮),在选择模板页面选择应用程序中的“Qt Gui应用”一项,然后单击“选择”按钮。

第二步,输入项目信息。

输入项目信息。

在“项目介绍和位置”页面输入项目的名称为
helloworld,然后单击创建路径右边的“浏览”按钮,在F盘中新建文件夹,命名为“2-1”,然后单击“选择文件夹”即可。

如果选中了这里的“设置默认的项目路径”,那么以后创建的项目会默认使用该目录。

(注意:项目名和路径中都不能出现中文。

)。

qt编程快速入门 例程

qt编程快速入门 例程

qt编程快速入门例程Qt是一种跨平台的C++应用程序开发框架。

它提供了一套丰富的库和工具,方便开发者创建功能强大的图形界面应用程序。

本文将带您快速入门Qt编程,并提供一些例程帮助您更好地理解。

首先,我们需要确保您已经安装了Qt开发环境。

您可以从官方网站上下载并安装Qt Creator集成开发环境,它包含了Qt的库和工具。

安装完成后,打开Qt Creator,并创建一个新的Qt项目。

在新项目的创建过程中,您可以选择使用Qt Widgets或Qt Quick 来构建应用程序的用户界面。

Qt Widgets是一种基于传统的窗口和控件的开发方式,而Qt Quick则是一种基于QML(Qt Markup Language)的更现代化的开发方式。

我们将选择Qt Widgets作为例程的开发方式。

创建完项目后,Qt Creator会自动生成一个主窗口类,并默认提供了一个简单的用户界面。

您可以在设计模式下使用Qt Creator的可视化编辑器来修改界面。

例如,您可以在窗口中添加按钮、文本框或标签等控件,然后使用拖拽和调整大小的方式进行布局。

除了可视化编辑器,您还可以使用Qt的信号与槽机制来实现控件间的交互。

通过在代码中声明信号和槽,并使用connect函数进行连接,您可以实现按下按钮时执行特定的操作,或者在文本框中输入内容时更新其他控件的显示内容。

在编写应用程序的逻辑代码时,您可以使用Qt的C++ API来访问各种功能。

例如,您可以使用QFile类来读写文件,使用QNetworkAccessManager类来进行网络请求,或者使用QSqlDatabase 类来连接数据库。

Qt提供了丰富的类和函数,可以帮助您轻松地完成各种任务。

此外,Qt还支持国际化和本地化。

您可以使用Qt的翻译系统来实现多语言支持,使您的应用程序能够运行在不同的语言环境下。

通过在代码中添加翻译文件,并使用tr函数进行文本的翻译,您可以轻松地实现多语言切换的功能。

Qt Creator系列教程

Qt Creator系列教程

一、Qt Creator的安装和hello world程序的编写(原创)1.首先到Qt的官方网站上下载Qt Creator,这里我们下载windows版的。

下载地址:/downloads如下图我们下载:Download Qt SDK for Windows* (178Mb)下载完成后,直接安装即可,安装过程中按默认设置即可。

2.运行Qt Creator,首先弹出的是欢迎界面,这里可以打开其自带的各种演示程序。

3.我们用File->New菜单来新建工程。

4.这里我们选择Qt4 Gui Application。

5.下面输入工程名和要保存到的文件夹路径。

我们这里的工程名为helloworld。

6.这时软件自动添加基本的头文件,因为这个程序我们不需要其他的功能,所以直接点击Next。

7.我们将base class选为QDialog对话框类。

然后点击Next。

8.点击Finish,完成工程的建立。

9.我们可以看见工程中的所有文件都出现在列表中了。

我们可以直接按下下面的绿色的run按钮或者按下Ctrl+R快捷键运行程序。

10.程序运行会出现空白的对话框,如下图。

11.我们双击文件列表的dialog.ui文件,便出现了下面所示的图形界面编辑界面。

12.我们在右边的器件栏里找到Label标签器件13.按着鼠标左键将其拖到设计窗口上,如下图。

14.我们双击它,并将其内容改为helloworld。

15.我们在右下角的属性栏里将字体大小由9改为15。

16.我们拖动标签一角的蓝点,将全部文字显示出来。

17.再次按下运行按钮,便会出现helloworld。

到这里helloworld程序便完成了。

Qt Creator编译的程序,在其工程文件夹下会有一个debug 文件夹,其中有程序的.exe可执行文件。

但Qt Creator默认是用动态链接的,就是可执行程序在运行时需要相应的.dll文件。

我们点击生成的.exe文件,首先可能显示“没有找到mingwm10.dll,因此这个应用程序未能启动。

Qt-Creator快速入门-第5章-应用程序主窗口

Qt-Creator快速入门-第5章-应用程序主窗口

第一步,添加Qt资源文件。往项目中添加新文件,选择Qt分类中的Qt资源文件,文件 名称改为“myImage”,其他选项默认即可。 第二步,添加资源。建立好资源文件后会默认进入资源管理界面,就是新建的 myImage.qrc文件中。现在先到项目文件夹myMainWindow中新建一个名为 “images”的文件夹,并在其中放入两张图标图片,比如这里放入了一个“new.png” 和一个“open.png”图片。(注意:Qt的资源系统要求资源文件必须放在与qrc文件同 级或子级目录下,如果放在其他地方,当添加资源时会提示将文件复制到有效的位 置。) 然后回到Qt Creator中,在资源管理界面,按下“添加”按钮,选择“添加前 缀”,然后将属性栏中的前缀改为“/myImage”,再点击“添加”按钮,选择“添加 文件”,在弹出的对话框中进入到前面新建的images文件夹中,选中那两张图片,点 击打开即可。这时myImage.qrc文件中就出现了添加的图片的列表。最后按下Ctrl+S 快捷键,保存对文件的修改(注意:这一点很重要,如果没有保存,在下面使用图片 时将看不到图片)。

在设计器中可以查看QToolBar的属性栏,其中toolButtonStyle属性 设置图标和相应文本的显示及其相对位置等;movabel属性设置状态 栏是否可以移动;allowedArea设置允许停靠的位置;iconsize属性
设置图标的大小;floatable属性设置是否可以悬浮。
பைடு நூலகம்
在工具栏中添加部件
菜单栏



QMenuBar类提供了一个水平的菜单栏,在QMainWindow中可以直接获取它的 默认存在的菜单栏,向其中添加QMenu类型的菜单对象,然后向弹出菜单中 添加QAction类型的动作对象。 在QMenu中还提供了间隔器,可以在设计器中向添加菜单那样直接添加间隔 器,或者在代码中使用addSeparator()函数来添加,它是一条水平线,可以 将菜单分成几组,使得布局很整齐。 在应用程序中很多普通的命令都是通过菜单来实现的,而我们也希望能将这 些菜单命令放到工具栏中,以方便使用。QAction就是这样一种命令动作, 它可以同时放在菜单和工具栏中。一个QAction动作包含了一个图标,一个 菜单显示文本,一个快捷键,一个状态栏显示文本,一个“What’s This?” 显示文本和一个工具提示文本。这些都可以在构建QAction类对象时在构造 函数中指定。 另外还可以设置QAction的checkable属性,如果指定这个动作的checkable 为true,那么当选中这个菜单时就会在它的前面显示“√”之类的表示选中 状态的符号,如果该菜单有图标,那么就会用线框将图标围住,用来表示该 动作被选中了。

qtcreator实战教程

qtcreator实战教程

qtcreator实战教程Qt Creator是一款功能强大的集成开发环境,特别适用于Qt框架的开发。

下面是一个关于Qt Creator的实战教程。

第一步,安装Qt Creator:第二步,创建新项目:打开Qt Creator后,点击“新建项目”。

在弹出的对话框中,选择“Qt Widgets应用程序”模板,并点击“下一步”。

然后,输入项目的名称和位置。

接下来,选择编译套件和目标设备。

最后,点击“完成”按钮。

第三步,设计界面:在Qt Creator的设计器视图中,我们可以通过拖拽和调整控件来设计界面。

用户可以选择各种控件,例如按钮、文本框和列表框,然后将其放置在主窗口中。

用户还可以设置控件的属性,例如大小、位置和样式。

第四步,编写代码:第五步,编译和运行:在Qt Creator的菜单栏中,选择“构建”->“构建项目”来编译项目。

如果没有错误,编译过程将会成功完成。

然后,用户可以点击“运行”按钮来运行程序。

第六步,调试程序:在Qt Creator中,用户可以使用内置的调试器来调试程序。

用户可以在代码中设置断点,然后在运行时逐步执行代码。

用户还可以查看变量的值、跟踪函数的调用链以及定位异常等。

第七步,部署应用程序:在Qt Creator中,用户可以使用“构建套件助手”来构建和部署应用程序。

用户可以选择不同的平台和构建配置,然后点击“构建”按钮来构建应用程序。

构建过程将会生成可执行文件以及所需的库和资源文件。

第八步,界面国际化:总结:Qt Creator是一个非常强大的集成开发环境,可以帮助开发者快速构建Qt应用程序。

通过本教程,您可以学会如何安装Qt Creator、创建新项目、设计界面、编写代码、编译和运行、调试程序、部署应用程序以及实现界面国际化。

希望这个实战教程对您有所帮助!。

【精品课程】Qt Creator快速入门教程课件第7章Qt对象模型与容器类

【精品课程】Qt Creator快速入门教程课件第7章Qt对象模型与容器类

快速入门教程主要内容⏹7.1 对象模型(第1课时)⏹7.2 容器类(第2课时)⏹7.3 正则表达式(第3课时)⏹7.4 小结(第3课时)7.1 对象模型标准C++对象模型可以在运行时非常有效的支持对象范式(object paradigm ),但是它的静态特性在一些问题领域中不够灵活。

图形用户界面编程不仅需要运行时的高效性,还需要高度的灵活性。

为此,Qt在标准C++对象模型的基础上添加了一些特性,形成了自己的对象模型。

这些特性有:⏹一个强大的无缝对象通信机制——信号和槽(signals and slots);⏹可查询和可设计的对象属性系统(object properties);⏹强大的事件和事件过滤器(events and event filters);⏹通过上下文进行国际化的字符串翻译机制(string translation forinternationalization);⏹完善的定时器(timers)驱动,使得可以在一个事件驱动的GUI中处理多个任务;⏹分层结构的、可查询的对象树(object trees),它使用一种很自然的方式来组织对象拥有权(object ownership);⏹守卫指针即QPointer,它在引用对象被销毁时自动将其设置为0;⏹动态的对象转换机制(dynamic cast);Qt的这些特性都是在遵循标准C++规范内实现的,使用这些特性都必须要继承自QObject类。

其中对象通信机制和动态属性系统,还需要元对象系统(Meta-Object System)的支持。

信号和槽⏹信号和槽用于两个对象之间的通信,信号和槽机制是Qt的核心特征,也是Qt不同于其他开发框架的最突出的特征。

在GUI编程中,当改变了一个部件时,总希望其他部件也能了解到该变化。

更一般来说,我们希望任何对象都可以和其他对象进行通信。

例如,如果用户点击了关闭按钮,我们希望可以执行窗口的close()函数来关闭窗口。

Qt Creator 快速入门实验讲义(带目录)

Qt Creator 快速入门实验讲义(带目录)

《Qt Creator快速入门》第2版实验讲义2014年6月目录实验1 Qt开发环境的搭建......................................................- 2 -目的与要求..................................................................................................................- 2 - 实验准备......................................................................................................................- 2 - 实验内容......................................................................................................................- 2 -实验2 编译和发布Qt程序...................................................- 16 -目的与要求................................................................................................................- 16 - 实验准备....................................................................................................................- 16 - 实验内容....................................................................................................................- 16 -实验3 使用Qt资源文件.......................................................- 25 -目的与要求................................................................................................................- 25 - 实验准备....................................................................................................................- 25 - 实验内容....................................................................................................................- 25 -实验4 创建登陆对话框..........................................................- 30 -目的与要求................................................................................................................- 30 - 实验准备....................................................................................................................- 30 - 实验内容....................................................................................................................- 30 -实验5 定时器和随机数..........................................................- 35 -目的与要求................................................................................................................- 35 - 实验准备....................................................................................................................- 35 - 实验内容....................................................................................................................- 35 -实验6 编译MySQL数据库驱动............................................- 38 -目的与要求................................................................................................................- 38 - 实验准备....................................................................................................................- 38 - 实验内容....................................................................................................................- 38 -实验7 数据库基本操作............................................................- 49 -目的与要求................................................................................................................- 49 - 实验准备....................................................................................................................- 49 - 实验内容....................................................................................................................- 49 -实验8 Qt数据库应用编程(综合设计)................................- 55 -目的与要求................................................................................................................- 55 - 实验准备....................................................................................................................- 55 - 实验内容....................................................................................................................- 55 -实验1 Qt开发环境的搭建目的与要求(1)掌握Qt开发环境的搭建方法(2)掌握Qt Creator的基本使用方法(3)了解Qt Creator的界面布局(4)了解Qt相关工具软件实验准备(1)对Qt及Qt Creator有基本了解(2)了解MinGW(3)下载Qt 4.8.5、Qt Creator 2.8.0和MinGW安装包实验内容1.安装Qt Creator(1)双击运行qt-creator-windows-opensource-2.8.0.exe安装包,将出现如图1.1所示的安装向导界面。

Qt Creator快速入门 第三章 窗口部件

Qt Creator快速入门 第三章 窗口部件




现在对这些值还不是很清楚,不过,为什么x、y的值会是0呢?我们 可能会想到,应该是窗口没有显示的原因,那么就更改代码,让窗口 先显示出来,再看这些值。在QWidget widget;一行代码后添加一行 代码: widget.show();

现在再次调试程序,这时会发现窗口只显示了一个标题栏,先不管它, 继续在Qt Creator中点击“单步跳过”按钮。当我们将程序运行到最 后一行代码return a.exec();时,再次按下“单步跳过”按钮后,程 序窗口终于显示出来了。这是因为只有程序进入主事件循环后才能接 收事件,而show()函数会触发显示事件,所以只有在完成a.exe()函 数调用进入消息循环后才能正常显示。这次看到几个变量的值都有了 变化,但是这时还是不清楚这些值的含义。 注意:因为使用调试器进行调试要等待一段时间,而且步骤很麻烦, 对于初学者来说,如果按错了按钮,还很容易出错。 所以,并不推 荐使用。
调试模式
下面对调试模式的几个按钮和窗口进行简单介绍: ①继续按钮。程序在断点处停了下来,按下继续按钮后,程序便会像正常运行一样,执行 后面的代码,直到遇到下一个断点,或者程序结束。 ②停止调试按钮。按下该按钮后结束调试。 ③单步跳过按钮。直接执行本行代码,然后指向下一行代码。 ④单步进入按钮。进入调用的函数内部。 ⑤单步跳出按钮。当进入函数内部时,跳出该函数,一般与单步进入配合使用。 ⑥显示源码对应的汇编指令,并可以单步调试。 ⑦堆栈视图。这里显示了从程序开始到断点处,所有嵌套调用的函数所在的源文件名和行 号。 ⑧其它视图。这里有局部变量和监视器视图,用来显示局部变量和它们的类型及数值;断 点视图用来显示所有的断点,以及添加或者删除断点;线程视图用来显示所有的线程 和现在所在的线程;快照视图用来管理快照,快照可以保存当前的调试状态。

【精品课程】Qt Creator快速入门教程课件第8章界面外观

【精品课程】Qt Creator快速入门教程课件第8章界面外观

快速入门教程一个完善的应用程序不仅应该有实用的功能,还要有一个漂亮的外观,这样才能使应用程序更加友善,更加吸引用户。

作为一个跨平台的UI开发框架,Qt提供了强大而灵活的界面外观设计机制。

这一章将学习在Qt中设计应用程序外观的相关知识,在本章开始会对Qt风格QStyle和调色板QPalette进行简单介绍,然后再对Qt样式表(Qt Style Sheets)进行重点讲解,最后还会涉及不规则窗体和透明窗体的实现方法。

主要内容⏹8.1 Qt风格⏹8.2 Qt样式表⏹8.3 特殊效果窗体⏹8.4 小结8.1 Qt风格Qt中的各种风格是一组继承自QStyle的类。

QStyle类是一个抽象基类,它封装了一个GUI的外观,Qt的内建(built-in)部件使用它来执行几乎所有的绘制工作,以确保它们看起来可以像各个平台上的本地部件一样。

一些风格已经内置在了Qt中,例如Windows风格和Motif风格;而有些风格只在特定的平台上才有效,例如Windows XP风格、Windows Vista风格和Mac OS X风格。

首先进入设计模式,可以先修改界面,然后打开“工具”→“界面编辑器”→“预览于”菜单,这里列出了现在可用的几种风格,比如选择“CDE风格”,预览效果如下图所示。

⏹如果想使用不同的风格来运行程序,那么只需要调用QApplication的setStyle()函数指定要使用的风格即可。

例如,在main()函数的“QApplication a(argc, argv);”一行代码后添加如下一行代码:a.setStyle(new QMotifStyle);这时运行程序,便会使用Motif风格。

⏹而如果不想整个应用程序都使用相同的风格,那么可以调用部件的setStyle()函数来指定该部件的风格。

【精品课程】Qt Creator快速入门教程课件第9章国际化、帮助系统和Qt插件

【精品课程】Qt Creator快速入门教程课件第9章国际化、帮助系统和Qt插件

快速入门教程主要内容⏹9.1 国际化(第1课时)⏹9.2 帮助系统(第2课时)⏹9.3 创建Qt插件(第3课时)⏹9.4 小结(第3课时)9.1 国际化国际化的英文表述为Internationalization,通常简写为I18N(首尾字母加中间的字符数),一个应用程序的国际化就是使该应用程序可以让其他国家的用户使用的过程。

Qt支持现在使用的大多数语言,特别是:⏹所有东亚语言(汉语、日语和朝鲜语)⏹所有西方语言(使用拉丁字母)⏹阿拉伯语⏹西里尔语言(俄语和乌克兰语等)⏹希腊语⏹希伯来语⏹泰语和老挝语⏹所有在Unicode 5.1中不需要特殊处理的脚本在Qt中,所有的输入部件和文本绘制方式对Qt所支持的所有语言都提供了内置的支持。

Qt内置的字体引擎可以在同一时间正确而且精细的绘制不同的文本,这些文本可以包含来自众多不同书写系统的字符。

使用Qt Linguist翻译应用程序在Qt中编写代码时要对需要显示的字符串调用tr()函数,完成代码编写后,对这个应用程序的翻译主要包含三步:1.运行lupdate工具从C++源代码中提取要翻译的文本,这时会生成一个.ts文件,这个文件是XML格式的;2.在Qt Linguist中打开.ts文件,并完成翻译工作;3.运行lrelease工具从.ts文件中获得.qm文件,它是一个二进制文件。

这里的.ts文件是供翻译人员使用的,而在程序运行时只需要使用.qm文件,这两个文件都是与平台无关的。

第一步:编写源码QLabel *label = new QLabel(this);label->setText(tr("hello Qt!"));label->move(100,50);QLabel *label2 = new QLabel(this);label2->setText(tr("password","mainwindow"));label2->move(100,80);QLabel *label3 = new QLabel(this);int id = 123;QString name = "yafei";label3->setText(tr("ID is %1,Name is %2").arg(id).arg(name));label3->resize(150,12);label3->move(100,120);这里向界面上添加了三个标签,因为这三个标签中的内容都是用户可见的,所以需要调用tr()函数。

【精品课程】Qt Creator快速入门教程课件第6章事件

【精品课程】Qt Creator快速入门教程课件第6章事件

快速入门教程在Qt中,事件作为一个对象,继承自QEvent类,常见的有键盘事件QKeyEvent、鼠标事件QMouseEvent和定时器事件QTimerEvent等,它们与QEvent类的继承关系如图所示。

主要内容⏹6.1 Qt中的事件⏹6.2 鼠标事件和滚轮事件⏹6.3 键盘事件⏹6.4 定时器事件与随机数⏹6.5 事件过滤器与事件的发送⏹6.6 小结6.1 Qt中的事件事件是对各种应用程序需要知道的由应用程序内部或者外部产生的事情或者动作的通称。

在Qt中使用一个对象来表示一个事件,它继承自QEvent类。

事件与信号并不相同,比如我们使用鼠标点击了一下界面上的按钮,那么就会产生鼠标事件QMouseEvent(不是按钮产生的),而因为按钮被按下了,所以它会发出clicked()单击信号(是按钮产生的)。

这里一般只关心按钮的单击信号,而不用考虑鼠标事件,但是如果要设计一个按钮,或者当鼠标点击按钮时让它产生别的效果,那么就要关心鼠标事件了。

可以看到,事件与信号是两个不同层面的东西,它们的发出者不同,作用也不同。

在Qt中,任何QObject的子类的实例都可以接收和处理事件。

常见事件:鼠标事件、键盘事件、定时事件、上下文菜单事件、关闭事件、拖放事件、绘制事件等。

⏹事件的处理⏹事件的传递事件的处理⏹方法一:重新实现部件的paintEvent(),mousePressEvent()等事件处理函数。

这是最常用也的一种方法,不过它只能用来处理特定部件的特定事件。

例如前一章实现拖放操作,就是用的这种方法。

⏹方法二:重新实现notify()函数。

这个函数功能强大,提供了完全的控制,可以在事件过滤器得到事件之前就获得它们。

但是,它一次只能处理一个事件。

⏹方法三:向QApplication对象上安装事件过滤器。

因为一个程序只有一个QApplication对象,所以这样实现的功能与使用notify()函数是相同的,优点是可以同时处理多个事件。

QtCreator快速入门第1章(1课时)

QtCreator快速入门第1章(1课时)

将Qt Creator与Qt库进行关联
因为这里是分别下载安装的Qt和Qt Creator ,它们并没 有自动关联,需要我们手动设置。选择“工具→选项”菜单 项,然后选择“构建和运行”项。首先添加并设置编译器 。
然后添加Qt版本,qmake.exe的路径是: C:\Qt\4.8.5\bin\qmake.exe,Fra bibliotek主要内容
1.1 Qt Creator的下载和安装 1.2 Qt Creator环境介绍 1.3 Qt工具简介 1.4 小结
1.1 Qt Creator的下载和安装
为了避免由于开发环境的版本差异而产生不必要的问题, 推荐在学习本书前下载和本书相同的软件版本。这里采用 了Qt 和Qt Creator分别下载和安装的方式,这样可以随意 选择其版本。
最后设置“构建套件(Kit)”,可以看到已经有了一个“桌面(默认)”,这 里双击它直接进行设置。名称修改为“Desktop Qt 4.8.5”;下面Qt版本选 择为前面添加的Qt 4.8.5(4.8.5)。
扩展内容:
在构建套件(Kit) 页面中还可以设置调试器,这个作为学 生的选学内容。有兴趣的同学可以参考第1.2.1小节的内 容进行设置。
运行一个示例程序
设定Qt库以后,在欢迎界面已经可以看到所有示例程序了,它们几乎涉及到了 Qt支持的所有功能。这里还提供了一个搜索栏,可以进行示例程序的查找,比 如查找所有和对话框相关的例子,可以输入“dialog”关键字 。
选择Embedded Dialogs示例程序,这时便进入了编辑模式。单击左下角的运 行按钮,程序便开始编译运行。
在查看帮助时可能想为某一页面添加书签,以便以后再看,则可以 按下快捷键Ctrl + M,或者单击界面上方边栏里的图标。打开帮助模式 时默认是目录视图,其实帮助的工具窗口中还提供了“索引”、“查找” 和“书签”3种方式对文档进行导航。

Qt Creator 绝对入门

Qt Creator 绝对入门

Qt Creater使用绝对入门打开Qt Creater,安装以后桌面有快捷方式,双击就可以打开,也可以在开始—所有程序里面找到打开。

新建一个工程,【File】——【New File or Project】:从这里就要分成两种方法设计了,一种是从源文件直接编译,一种是使用UI界面设计。

先说从源文件直接编译。

因为Qt的经典入门书C++ GUI Programming with Qt4就是使用源代码直接编译的,好处就是可以学的更精细。

以后处理UI界面编程更方便。

方法一:选择Empty Qt4 Project,按【OK】。

在弹出的界面中输入Qt工程名和文件保存路径,按【Next】。

然后添加源文件,【File】——【New File or Project】选择C++ Source File,然后按【OK】。

在弹出的界面中输入源文件名,加不加.cpp后缀都可以,Qt Creater会自动添加,按【Next】。

新弹出的对话框提示添加与工程名同名的源文件,按【Finish】。

在打开的源文件中输入代码,编辑好代码以后,【File】——【Save “xx.cpp”】来保存文件,xx.cpp为源文件名。

(如果界面的右下角显示【Quit FakeVim】,那么你要先按i,显示出—INSERT—才可以进行编辑代码,也可以直接点【Quit FakeVim】,就可以编辑代码了。

)然后,按界面左侧的绿色的小三角图标,就可以编译运行程序了。

也可以在【Build】,逐项编译【BuildAll】(左侧的小锤子图标),再【Run qmake】,再【Run】,查看运行结果:哦,这个是编译运行后的界面,运行完的结果很小,按【Quit】就可以退出这个小界面了。

再来第二种方法:(上接:新建一个工程,【File】——【New File or Project】)选择Qt4 GUI Application然后按OK。

输入工程名和保存路径,然后按【Next】。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.然后新建一个 Qt Designer Form Class 类,类名为 loginDlg,选用 Dialog without Buttons,将其加入上面的工程中。文件列表如下:
3.在 logindlg.ui 中设计下面的界面:行输入框为 Line Edit。其中用户名后面 的输入框在属性中设置其 object Name 为 usrLineEdit,密码后面的输入框为 pwdLineEdit,登录按钮为 loginBtn,退出按钮为 exitBtn。
Widget w;
if(my1.exec()==QDialog::Accepted) {
w.show(); } return a.exec();
}
这样虽然解决了上面主窗口一闪而过的问题,但是,如果在 my1 对话框出现的时 候不点 enterBtn,而是直接关闭对话框,那么此时整个程序应该结束执行,但 是事实是这样的吗?如果你此时对程序进行了改动,再次按下 run 按钮,你会发 现又出现了 error: collect2: ld returned 1 exit status 的错误,这说明程 序并没有结束,我们可以打开 windows 任务管理器,可以看到我们的程序仍在执 行。
种方法实现了信号和槽函数的关联,第一个按钮我们直接在设计器中实现其关
联;第二个按钮我们自己写了槽函数语句,其实图形的设计与直接写代码效果是
一样的。
这个程序里我们实现了两类窗口打开的方式,一个是自身消失而
后打开另一个窗口,一个是打开另一个窗口而自身不消失。可以看到他们实现的
方法是不同的。
三、Qt Creator 登录对话框(原创)
#ifndef WIDGET_H
#define WIDGET_H
#include <QtGuh"
//包含头文件
namespace Ui
{
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
11.我们双击文件列表的 dialog.ui 文件,便出现了下面所示的图形界面编辑界 面。
12.我们在右边的器件栏里找到 Label 标签器件 13.按着鼠标左键将其拖到设计窗口上,如下图。 14.我们双击它,并将其内容改为 helloworld。 15.我们在右下角的属性栏里将字体大小由 9 改为 15。 16.我们拖动标签一角的蓝点,将全部文字显示出来。
解决这个问题我们可以将相应的.dll 文件放到系统 中。在 Qt Creator 的安装目录的 qt 文件下的 bin 文件夹下(我安装在了 D 盘, 所以路径是 D:\Qt\2009.04\qt\bin),可以找到所有的相关.dll 文件。在这里 找到 mingwm10.dll 文件,将其复制到 C:\WINDOWS\system 文件夹下,即可。下 面再提示缺少什么 dll 文件,都像这样解决就可以了。
7.修改主函数 main.cpp,如下:
#include <QtGui/QApplication>
#include "widget.h"
#include "mydlg.h"
//加入头文件
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
17.再次按下运行按钮,便会出现 helloworld。
到这里 helloworld 程序便完成了。 Qt Creator 编译的程序,在其工程文件夹下会有一个 debug
文件夹,其中有程序的.exe 可执行文件。但 Qt Creator 默认是用动态链接的, 就是可执行程序在运行时需要相应的.dll 文件。我们点击生成的.exe 文件,首 先可能显示“没有找到 mingwm10.dll,因此这个应用程序未能启动。重新安装 应用程序可能会修复此问题。”表示缺少 mingwm10.dll 文件。
2.运行 Qt Creator,首先弹出的是欢迎界面,这里可以打开其自带的各种演示 程序。
3.我们用 File->New 菜单来新建工程。
4.这里我们选择 Qt4 Gui Application。
5.下面输入工程名和要保存到的文件夹路径。我们这里的工程名为 helloworld。
6.这时软件自动添加基本的头文件,因为这个程序我们不需要其他的功能,所以 直接点击 Next。
Widget(QWidget *parent = 0);
~Widget();
private:
Ui::Widget *ui;
myDlg my2;
//对 my2 进行定义
private slots:
void on_pushButton_clicked();
};
#endif // WIDGET_H
到这里,再运行程序,便能完成我们实验要求的功能了。整个程序里,我们用两
因为 return a.exec();一句表示只要主窗口界面不退出,那么程 序就会一直执行。所以只有用第一种方法,将该语句也放到 if 语句中,而在 else 语句中用 else return 0; ,这样如果 enterBtn 没有被按下,那么程序就会结 束执行了。
到这里,我们就实现了一个界面结束执行,然后弹出另一个 界面的程序。下面我们在主窗口上加一个按钮,按下该按钮,弹出一个对话框, 但这个对话框关闭,不会使主窗口关闭。
7.我们将 base class 选为 QDialog 对话框类。然后点击 Next。
8.点击 Finish,完成工程的建立。
9.我们可以看见工程中的所有文件都出现在列表中了。我们可以直接按下下面的 绿色的 run 按钮或者按下 Ctrl+R 快捷键运行程序。
10.程序运行会出现空白的对话框,如下图。
二、Qt Creator 编写多窗口程序(原创)
实现功能: 程序开始出现一个对话框,按下按钮后便能进入主窗口,如果直
接关闭这个对话框,便不能进入主窗口,整个程序也将退出。当进入主窗口后, 我们按下按钮,会弹出一个对话框,无论如何关闭这个对话框,都会回到主窗口。 实现原理:
程序里我们先建立一个主工程,作为主界面,然后再建立一个对 话框类,将其加入工程中,然后在程序中调用自己新建的对话框类来实现多窗口。 实现过程: 1.首先新建 Qt4 Gui Application 工程,工程名为 nGui,Base class 选为 QWidget。 建立好后工程文件列表如下图。
2.新建对话框类,如下图,在新建中,选择 Qt Designer Form Class。 3.选择 Dialog without Buttons。 4.类名设为 myDlg。
5.点击 Finish 完成。注意这里已经默认将其加入到了我们刚建的工程中了。
6.如下图,在 mydlg.ui 中拖入一个 Push Button,将其上的文本改为“进入主 窗口”,在其属性窗口中将其 objectName 改为 enterBtn,在下面的 Signals and slots editor 中进行信号和槽的关联,其中,Sender 设为 enterBtn,Signal 设为 clicked(),Receive 设为 myDlg,Slot 设为 accept()。这样就实现了单击 这个按钮使这个对话框关闭并发出 Accepted 信号的功能。下面我们将利用这个 信号。
Widget w;
myDlg my1;
//建立自己新建的类的对象 my1
if(my1.exec()==QDialog::Accepted)
//利用 Accepted 信号判
断 enterBtn 是否被按下
{
w.show();
//如果被按下,显示主窗口
return a.exec();
//程序一直执行,直到主窗口
一、Qt Creator 的安装和 hello world 程序的编写(原创) 1.首先到 Qt 的官方网站上下载 Qt Creator,这里我们下载 windows 版的。 下载地址:/downloads 如下图我们下载:Download Qt SDK for Windows* (178Mb) 下载完成后,直接安装即可,安装过程中按默认设置即可。
实现功能:
在弹出对话框中填写用户名和密码,按下登录按钮,如果用户名和密码均正确则 进入主窗口,如果有错则弹出警告对话框。
实现原理:
通过上节的多窗口原理实现由登录对话框进入主窗口,而用户名和密码可以用 if 语句进行判断。
实现过程:
1.先新建 Qt4 Gui Application 工程,工程名为 mainWidget,选用 QWidget 作 为 Base class,这样便建立了主窗口。文件列表如下:
4.将 exitBtn 的单击后效果设为退出程序,关联如下:
5.右击登录按钮选择 go to slot,再选择 clicked(),然后进入其单击事件的槽 函数,写入一句
void loginDlg::on_loginBtn_clicked() {
accept(); }
6.改写 main.cpp:
#include <QtGui/QApplication> #include "widget.h" #include "logindlg.h" int main(int argc, char *argv[]) {
如果把程序改为这样:
#include <QtGui/QApplication> #include "widget.h" #include "mydlg.h" int main(int argc, char *argv[]) {
QApplication a(argc, argv); myDlg my1;
相关文档
最新文档