QT入门操作

发布时间:2024年01月08日

1-Qt简介

  1. Qt是什么?

这门课程的定位:

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

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

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

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

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

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

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

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

?欧路词典下载C++/Qt常用词汇

2、新建项目

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

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

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

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

  1. 直接点击下一步

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

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

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

3、构建目录和工作目录

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

3.1?构建目录

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

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

解决方法1:

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

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

3.2?工作目录

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

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

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

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

4、项目结构

4.1?项目配置文件.pro

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

4.2?用户文件.user

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

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

4.3?主文件?main.cpp

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

#include?"dialog.h"
//?QApplication?类管理GUI应用程序的控制流和主设置
#include?<QApplication>
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>
//?自定义对话框类
//?继承于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程序后,点击索引,在输入框中输入想要查询的内容即可。

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

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

6、调试信息

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

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

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

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

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

dialog.h

#ifndef?DIALOG_H
#define?DIALOG_H

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

//?自定义对话框类
//?继承于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、注意

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

文章来源:https://blog.csdn.net/m0_74937538/article/details/135448453
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。