文章目录
一、QT简单介绍
Qt是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。
== main.cpp==
#include "mywidget.h"
#include <QApplication> //包含头文件 应用程序
// 程序入口 argc命令行变量数量 argv命令行变量数组
int main(int argc, char *argv[])
{
//应用程序对象 a ,Qt中 有且仅有一个 应用程序对象
QApplication a(argc, argv);
//创建 MyWidget对象 w MyWidget基类 QWidget
MyWidget w;
//窗口默认是不会弹出的,如果想弹出 调用 show方法
w.show();
//a.exec()进入消息循环机制 pause
return a.exec();
}
运行时候出现Interrupt/Exception caught,解决办法为点击项目,在构建中选中清除系统环境变量。
二、.pro文件介绍
QT += core gui //包含的模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets //大于Qt4版本 才包含widget模块
TARGET = QtFirst //应用程序名 生成的.exe程序名称
TEMPLATE = app //模板类型 应用程序模板
SOURCES += main.cpp\ //源文件
mywidget.cpp
HEADERS += mywidget.h //头文件
.pro就是工程文件(project),它是qmake自动生成的用于生产makefile的配置文件。.pro文件的写法如下:
注释
从“#”开始,到这一行结束。
模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:TEMPLATE = app
app -建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。
lib - 建立一个库的makefile。
vcapp - 建立一个应用程序的VisualStudio项目文件。
vclib - 建立一个库的VisualStudio项目文件。
subdirs -这是一个特殊的模板,它可以创建一个能够进入特定目录并且为一个项目文件生成makefile并且为它调用make的makefile。
指定生成的应用程序名
TARGET = QtDemo
工程中包含的头文件
HEADERS += include/painter.h
工程中包含的.ui设计文件
FORMS += forms/painter.ui
工程中包含的源文件
SOURCES += sources/main.cpp sources
工程中包含的资源文件
RESOURCES += qrc/painter.qrc
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
这条语句的含义是,如果QT_MAJOR_VERSION大于4(也就是当前使用的Qt5及更高版本)需要增加widgets模块。如果项目仅需支持Qt5,也可以直接添加“QT += widgets”一句。不过为了保持代码兼容,最好还是按照QtCreator生成的语句编写。
配置信息
CONFIG用来告诉qmake关于应用程序的配置信息。
CONFIG += c++11 //使用c++11的特性
在这里使用“+=”,是因为我们添加我们的配置选项到任何一个已经存在中。这样做比使用“=”那样替换已经指定的所有选项更安全。
三、 命名规范和常用快捷键以及QPushButton简单使用
mywidget.h
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget>
class MyWidget : public QWidget //MyWidget继承QWidget
{
Q_OBJECT //Q_OBJECT宏 写了这个宏 就支持了 Qt中的信号和槽机制
public:
MyWidget(QWidget *parent = 0); //构造函数
~MyWidget(); //析构函数
};
#endif // MYWIDGET_H
mywidget.cpp
#include "mywidget.h"
#include <QPushButton>
#include "mybutton.h"
#include <QDebug>
//命名规范 以及 快捷键
// 类名 首字母大写 单词与单词之间 首字母大写
// 函数、变量 首字母小写 单词与单词之间 首字母大写
// 快捷键
// 运行 ctrl + R
// 编译 ctrl + B
// 查找 ctrl + F
// 帮助文档 F1
// 字体缩放 ctrl + 鼠标滚轮
// 自动对齐 ctrl + i
// 整行移动 ctrl+ shift + ↑ 或者 ↓
// 同名之间的 .h .cpp切换 F4
// 帮助文档 第一种 : F1 第二种 :左侧按钮 第三种:C:\Qt\Qt5.6.0\5.6\mingw49_32\bin
// 注释快捷键 ctrl + /
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent) //初始化列表
{
//按钮
QPushButton * btn = new QPushButton;
//btn->show(); //show用顶层方式弹出,如果想在MyWidget窗口中显示,就需要依赖MyWidget窗口
//设置父亲
btn->setParent(this);
//设置文字
btn->setText("德玛西亚"); //将char* 隐式类型转为QString
//创建按钮第二种方式 窗口会按照 btn2大小进行显示
QPushButton * btn2 = new QPushButton("第二按钮",this);
//重置窗口大小
resize(600,400);