QT入门操作
1-Qt简介
- 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项目了。操作步骤如下:
- 在Qt?Creator中点击。
- 在弹出的窗口中,按照下图所示进行操作。
- 在弹出的窗口中设置项目名称和路径,注意不能包含中文字符。可以设置默认的项目路径。
- 直接点击下一步
- 在弹出的窗口中,选择基类为“QDialog”,取消“创建界面”选项,然后点击?“下一步”。
- 在项目管理界面,直接点击完成,可以看到项目中包含的文件。
- 点击可以编译并运行项目,项目运行之后可以看到一个可视化的窗口。
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、注意
当程序运行时,再次运行可能会出现下面的情况,只需要关闭当前运行的项目,重新运行即可。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!