QT入门操作

1-Qt简介

  1. Qt是什么?

这门课程的定位:

  • C++的实践课。
  • 系统性的认识图形用户界面编程
  • 新的就业方向

Qt是一个基于C++的图形用户界面(GUI)开发框架,但是Qt不仅仅能开发界面,还包括很多传统编程中的计数:多线程、数据库、图像处理、网络通信、文件IO。。。。。等等。

以下是Qt开发的具体产品:

QT入门操作_第1张图片QT入门操作_第2张图片QT入门操作_第3张图片QT入门操作_第4张图片

QT入门操作_第5张图片QT入门操作_第6张图片

QT入门操作_第7张图片QT入门操作_第8张图片

QT入门操作_第9张图片QT入门操作_第10张图片

QT入门操作_第11张图片

等等等,包含但不限于以上场景。

Qt主要的优势是优良的跨平台特性(一次编程,到处编译)。

比如说:windows、linux、android、SunOS。。。。。。等等

另外Qt也拥有一些常规特性:

  • 面向对象开发(使用C++进行编程)
  • 丰富的API调用接口,配套了对应的开发文档。
  • 开源(源代码开放,学习资料多)。

QT入门操作_第12张图片 欧路词典下载QT入门操作_第13张图片C++/Qt常用词汇

2、新建项目

本次Qt仍然使用C++课程中的Qt Creator,先更改编码,改为UTF-8

QT入门操作_第14张图片QT入门操作_第15张图片

更改完成后,创建正常的支持中文的Qt项目了。操作步骤如下:

  1. 在Qt Creator中点击
  2. 在弹出的窗口中,按照下图所示进行操作。

QT入门操作_第16张图片

  1. 在弹出的窗口中设置项目名称和路径,注意不能包含中文字符。可以设置默认的项目路径。

QT入门操作_第17张图片

  1. 直接点击下一步

QT入门操作_第18张图片

  1. 在弹出的窗口中,选择基类为“QDialog”,取消“创建界面”选项,然后点击 “下一步”。

QT入门操作_第19张图片

  1. 在项目管理界面,直接点击完成,可以看到项目中包含的文件。

QT入门操作_第20张图片

  1. 点击可以编译并运行项目,项目运行之后可以看到一个可视化的窗口。

QT入门操作_第21张图片

3、构建目录和工作目录

项目运行之后,存在两个重要的目录:构建目录和工作目录

3.1 构建目录

存放项目编译过程中生成的文件,这个目录的位置:

QT入门操作_第22张图片

如果新创建的项目无法正常运行:

解决方法1:

QT入门操作_第23张图片

如果排查了各种问题仍然无法解决,可以尝试取消Shadow build选项,此时项目目录会与工程目录,合二为一,不建议正常使用的用户这样操作。

QT入门操作_第24张图片

构建目录在课程最后一天会重点涉及,前期用的比较少。

3.2 工作目录

工作目录就是创建项目时设置的目录,用于存放源代码文件,开发配置文件等。

工作目录可以通过下面这种方式定位:

QT入门操作_第25张图片

工作目录中包含的文件有:

QT入门操作_第26张图片

本门课程的作业提交方式为工作目录打包。

4、项目结构

4.1 项目配置文件.pro

在windows的文件管理器中,直接双击.pro文件即可导入项目。

QT入门操作_第27张图片

QT入门操作_第28张图片

QT入门操作_第29张图片

4.2 用户文件.user

用户文件在Qt Creator中不可见,但是确实存在于工作目录中。(项目构建后)。

此文件时Qt 根据当前计算机的开发环境自动生成的文件,每个计算机几乎不通用此文件,因此在提交代码时,先删除此文件。

4.3 主文件 main.cpp

程序的入口,包含主函数,通常不需要改动主文件代码。

#include "dialog.h"
// QApplication 类管理GUI应用程序的控制流和主设置
#include 
int main(int argc, char *argv[])
{
    // 创建了一个管家类对象(栈内存)。管理整个应用程序
    QApplication a(argc, argv);
    // 创建了一个自定义对话框窗口类的栈内存对象
    Dialog w;
    // 显示(显示窗口)
    w.show();
    // 进入主时间循环
    return a.exec();
}

4.4 头文件dialog.h

在Qt中一个自定义类的声明都写在.h中,这个类用到的所有其它类的头文件,也在此文件中引入。

#ifndef DIALOG_H
#define DIALOG_H
// 添加头文件QDialog对话框基类,Qt自带类型通常使用Q开头
#include 
// 自定义对话框类
// 继承于QDialog类
class Dialog : public QDialog
{
    // 先放着
    Q_OBJECT
public:
    Dialog(QWidget *parent = 0);    // 构造函数
    ~Dialog();      // 析构函数
};
#endif // DIALOG_H

4.5 源文件dialog.cpp

包含与同名头文件配套的类外定义。

#include "dialog.h"
// 构造函数定义
// parent 参数
Dialog::Dialog(QWidget *parent): QDialog(parent)   // 透传构造
{
}
// 析构函数类外定义
Dialog::~Dialog()
{

}

5、帮助文档

学习Qt一定要学习如果查询文档,通常对于不是很常用内容在编程开发当中都是随用随查的。官方文档就是第一手资料。

有三种查询文档的方式:

1、直接启动Assistant,是一个独立的文件程序。

打开Assistant程序后,点击索引,在输入框中输入想要查询的内容即可。

QT入门操作_第30张图片

2、在Qt Creator中直接点击帮助,可以打开一个内嵌的Assistant程序

QT入门操作_第31张图片

QT入门操作_第32张图片

3、 光标定位到要查询的内容上,双击键盘F1,可以直接跳到对应的文件内容。

QT入门操作_第33张图片

6、调试信息

在C语言或者C++中,无论是printf或Cout输出的内容都不分前后台,但是Qt中输出内容是区分前后台的。通常前台指的是图形用户界面,用户可以直接通过软件界面看到。

后台值是在Qt Creator的(控制台)中,这里显示的信息用户是不可见的,只对开发者开放。

如果想输出到后台,需要使用QDebug类的qDebug() 函数输出调试信息,支持中文输出,整个的使用方式与cout类似,但是有以下区别:

  • 连续输出时,自动添加空格。
  • 每处输出语句结束时,自动添加换行。

输出到后台:QDebug类的qDebug() 函数输出调试信息

QT入门操作_第34张图片

QT入门操作_第35张图片

dialog.h

#ifndef DIALOG_H
#define DIALOG_H

// 添加头文件QDialog对话框基类,Qt自带类型通常使用Q开头
#include 
#include 

// 自定义对话框类
// 继承于QDialog类
class Dialog : public QDialog
{
    // 先放着
    Q_OBJECT

public:
    Dialog(QWidget *parent = 0);    // 构造函数
    ~Dialog();      // 析构函数
};

#endif // DIALOG_H

dialog.cpp

#include "dialog.h"

// 构造函数定义
// parent 参数
Dialog::Dialog(QWidget *parent)
    : QDialog(parent)   // 透传构造
{
    qDebug() << "构造函数 hello world";
}

// 析构函数类外定义
Dialog::~Dialog()
{

}

7、注意

当程序运行时,再次运行可能会出现下面的情况,只需要关闭当前运行的项目,重新运行即可。

QT入门操作_第36张图片

你可能感兴趣的:(qt,c++,qt,开发语言)