Qt Creator快速入门 界面外观
- 格式:ppt
- 大小:734.50 KB
- 文档页数:20
快速入门教程
主要内容
⏹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设计模式(六)外观模式1.外观模式介绍意图:为⼦系统中的⼀组接⼝提供⼀个⼀致的界⾯,外观模式定义了⼀个⾼层接⼝,这个接⼝使得这⼀⼦系统更加容易使⽤。
主要解决:降低访问复杂系统的内部⼦系统时的复杂度,简化客户端之间的接⼝。
何时使⽤: 1、客户端不需要知道系统内部的复杂联系,整个系统只需提供⼀个"接待员"即可。
2、定义系统的⼊⼝。
如何解决:客户端不与系统耦合,外观类与系统耦合。
关键代码:在客户端和复杂系统之间再加⼀层,这⼀层将调⽤顺序、依赖关系等处理好。
应⽤实例: 1、去医院看病,可能要去挂号、门诊、划价、取药,让患者或患者家属觉得很复杂,如果有提供接待⼈员,只让接待⼈员来处理,就很⽅便。
2、JAVA 的三层开发模式。
优点: 1、减少系统相互依赖。
2、提⾼灵活性。
3、提⾼了安全性。
缺点:不符合开闭原则,如果要改东西很⿇烦,继承重写都不合适。
使⽤场景: 1、为复杂的模块或⼦系统提供外界访问的模块。
2、⼦系统相对独⽴。
3、预防低⽔平⼈员带来的风险。
注意事项:在层次化结构中,可以使⽤外观模式定义系统中每⼀层的⼊⼝。
2.代理模式介绍意图:为其他对象提供⼀种代理以控制对这个对象的访问。
主要解决:在直接访问对象时带来的问题,⽐如说:要访问的对象在远程的机器上。
在⾯向对象系统中,有些对象由于某些原因(⽐如对象创建开销很⼤,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使⽤者或者系统结构带来很多⿇烦,我们可以在访问此对象时加上⼀个对此对象的访问层。
何时使⽤:想在访问⼀个类时做⼀些控制。
如何解决:增加中间层。
关键代码:实现与被代理类组合。
应⽤实例: 1、Windows ⾥⾯的快捷⽅式。
2、猪⼋戒去找⾼翠兰结果是孙悟空变的,可以这样理解:把⾼翠兰的外貌抽象出来,⾼翠兰本⼈和孙悟空都实现了这个接⼝,猪⼋戒访问⾼翠兰的时候看不出来这个是孙悟空,所以说孙悟空是⾼翠兰代理类。
使用Qt Creator开发入门对于程序员来说,纯粹通过编写C++源代码来开发整个Qt应用程序并不稀奇。
不过,许多程序员还是喜欢使用可视化的方法来设计窗体,Qt设计器(Qt Designer)为程序员们提供料可供使用的新选择,它提供一种可视化的设计能力。
以前,使用Qt Designer设计窗体并保存为ui文件后,还需要在命令行下使用uic命令来产生对应的C++代码。
而现在则不必了,Qt creator这个IDE 不仅集成了完全的Qt Designer,而且集成了qmake等工具,可以在这个可视化开发工具中直接设计窗体并编写代码、编译、调试了。
本文将介绍使用Qt Creator来创建qqLoginDlg的窗体和程序代码,创建的窗体如下图所示:图1.QQ登录对话框无论使用手工编码还是使用Qt Designer,在创建对话框时总是要包含以下几个相同的基本步骤:1.创建并初始化子窗体部件2.把子窗口部件放到布局中。
3.设置Tab件顺序,设置伙伴(buddy)。
4.建立信号-槽之间的连接5.如果有自定义的槽函数,实现它们。
启动Qt Creator,然后在Qt Creator中通过菜单File→New来创建一个Qt4Gui Application 的项目,如下图2所示:图2创建一个Gui的应用程序在接下来的步骤中,填写项目的名称(qqLoginDlg),选择需要的(默认包含Qt Core和Qt Gui)模块,指定类信息(类名QQLoginDlg,基类QDialog),然后finish,就创建得到一个项目,其中的文件有这个几个:qqLoginDlg.pro,main.cpp,qqlogindlg.cpp,qqlogindlg.h,qqlogindlg.ui,在项目窗口中双击qqlogindlg.ui文件,Qt Creator会使用Qt Designer打开这个文件,我们来创建子窗口部件,如下图所示:图3默认创建的Dialog项目第一步是创建子窗口部件并且把它们放置到窗体中。
快速入门教程主要内容⏹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()函数来关闭窗口。
启动QtCreator,出现如图 1 所示的主窗口:图 1 Qt Creator主窗口Qt Creator 的界面很简洁。
上方是主菜单栏,左侧是主工具栏,窗口的中间部分是工作区。
根据设计内容不同,工作区会显示不同的内容。
图 1 是在左侧主工具栏单击“Welcome(欢迎)”按钮后显示实例的界面。
这时工作区的左侧有“Projects”、“Examples(示例)”、“Tutorials(教程)”、“Get Started Now”几个按钮,单击后会在主工作区显示相应的内容:•单击“Projects”按钮后,工作区显示新建项目按钮和最近打开项目的列表。
•单击“Examples(示例)”按钮后,工作区显示 Qt 自带的大量实例,选择某个实例就可以在 Qt Creator 中打开该项目源程序。
•单击“Tutorials(教程)”按钮后,工作区显示各种视频教程,查看视频教程需要联网并使用浏览器打开。
•单击“Get Started Now”按钮,工作区显示“Qt Creator Manual”帮助主题内容。
主窗口左侧是主工具栏,主工具栏提供了项目文件编辑、窗体设计、程序调试、项目设置等各种功能按钮。
Qt Creator 的设置对 Qt Creator 可以进行一些设置,如刚安装好的 Qt Creator 界面语言可能是中文,也可以选择将 Qt Creator 的界面语言设置为英文。
图 2 Options 的构建和运行设置页面单击 Qt Creator 菜单栏的Tools→Options 菜单项会打开选项设置对话框(如图 2 所示)。
对话框的左侧是可设置的内容分组,单击后右侧出现具体的设置界面。
常用的设置包括以下几点:1.Environment(环境)设置:在 Interface 页面可以设置语言和主题,本教程全部以中文界面的 Qt Creator 进行讲解,所以语言选择为 Chinese(China);为了使界面抓图更清晰,设置主题为 Flat Light。
《Qt Creator 快速入门》第 3 版实验讲义2017 年2 月目录实验1 Qt 开发环境的搭建..........................................................- 2 -目的与要求.................................................................................................................... - 2 - 实验准备........................................................................................................................ - 2 - 实验内容........................................................................................................................ - 2 -实验2 编译和发布Qt 程序.......................................................- 12 -目的与要求.................................................................................................................. - 12 - 实验准备...................................................................................................................... - 12 - 实验内容...................................................................................................................... - 12 -实验3 使用Qt 资源文件...........................................................- 20 -目的与要求.................................................................................................................. - 20 - 实验准备...................................................................................................................... - 20 - 实验内容...................................................................................................................... - 20 -实验4 创建登陆对话框............................................................. - 26 -目的与要求.................................................................................................................. - 26 - 实验准备...................................................................................................................... - 26 - 实验内容...................................................................................................................... - 26 -实验5 定时器和随机数............................................................. - 32 -目的与要求.................................................................................................................. - 32 - 实验准备...................................................................................................................... - 32 - 实验内容...................................................................................................................... - 32 -实验6 编译MySQL 数据库驱动............................................... - 35 -目的与要求.................................................................................................................. - 35 - 实验准备...................................................................................................................... - 35 - 实验内容...................................................................................................................... - 35 -实验7 数据库基本操作............................................................... - 44 -目的与要求.................................................................................................................. - 44 - 实验准备...................................................................................................................... - 44 - 实验内容...................................................................................................................... - 44 -实验8 Qt 数据库应用编程(综合设计).................................. - 50 -目的与要求.................................................................................................................. - 50 - 实验准备...................................................................................................................... - 50 - 实验内容...................................................................................................................... - 50 -实验1 Qt 开发环境的搭建目的与要求(1)掌握Qt SDK 安装方法(2)掌握Qt Creator 的基本使用方法(3)了解Qt Creator 的界面布局(4)了解Qt 相关工具软件实验准备(1)对Qt 及Qt Creator 有基本了解(2)了解MinGW(3)下载Qt 5.6.1 安装包实验内容1. 安装Qt Creator(1)双击运行qt-opensource-windows-x86-mingw492-5.6.1-1 安装包,将出现如图1.1 所示的安装向导欢迎界面,这里提示如果没有Qt 帐号,可以在后面的步骤中创建一个。
Qt初学——我的第⼀个UI第⼀次打开Qt的时候,我是⼀脸懵逼的。
没学过c++,⾥⾯的程序都看不懂。
按照套路,我开始看教程,上⼿实践。
连着搞了3天之后,我开始渐渐明⽩怎么写UI。
我现在的理解是:UI = 界⾯设计 + 信号槽响应机制。
下⾯我通过实例来展⽰编写⼀个UI的⼤致过程(注意:这不是教程!最后贴的有专业教程!):Step1:界⾯设计⾸先,要创建⼀个项⽬。
.pro⽂件是项⽬的⼯程⽂件,。
.h⽂件是主窗⼝MainWindow的头⽂件,可以在.h⽂件⾥声明变量、函数、信号、信号槽。
main.cpp就是主函数了,程序从这⾥开始。
mainwindow.cpp是主窗⼝的程序,在⾥⾯可以设置主窗⼝的布局,信号槽等。
.ui⽂件,我现在还是不知道这个⽂件的机制,不过我知道可以在⾥⾯拖放控件,就像拼积⽊⼀样设计UI,很简单,。
⼀开始我⽤了⼀下.ui⽂件,但是由于不知道怎样对控件属性作更细的设置,所以⼲脆放弃,选择写代码实现。
创建好项⽬之后,开始做整个过程的前半部分,界⾯设计。
下⾯,在界⾯中添加⼀个按钮。
上⽹百度⼀下,常⽤的按钮是QPushButton,查了⼀下相关⽤法之后,就可以尝试使⽤了。
1 #ifndef MAINWINDOW_H2#define MAINWINDOW_H34 #include <QMainWindow>5 #include <QPushButton>67namespace Ui {8class MainWindow;9 }1011class MainWindow : public QMainWindow12 {13 Q_OBJECT1415public:16explicit MainWindow(QWidget *parent = 0);17 ~MainWindow();1819private:20 Ui::MainWindow *ui;21 QPushButton *button;22 };2324#endif// MAINWINDOW_HMainWindow.h在.h⽂件⾥添加QPushButton的头⽂件#include <QPushButton> ,在private⾥⾯声明button变量,QPushButton *button;#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow){ui->setupUi(this);button = new QPushButton(this);button->setText("Button");button->setParent(this);}MainWindow::~MainWindow(){delete ui;}MainWindow.cppbutton = new QPushButton(this);//定义button变量button->setText("Button"); //设置button属性,这⾥设置button的⽂本,其他属性百度⼀下就可以button->setParent(this); //将button控件的⽗窗⼝设置为当前窗⼝,这句⽤来显⽰button按钮运⾏效果:到此为⽌,UI编写的⼀半——界⾯设计就OK了。