Qt下载(多种下载通道+所有版本) (biancheng.net)http://c.biancheng.net/view/3851.html下载 QT还是到这个网址比较快。QT所做的案例:
QT Creator学习:
New Project:创建一个新工程,等同于新建文件或项目。
QT Widgets Application
项目的介绍和位置:包含项目名称(不能有中文和空格)和路径(不要有中文路径,会报错)
Kit Selection创建配件
Details类信息——默认会创建一个类,
QWigdet是父类(最基础的类,什么东西都没有),QMainWindow(有工具栏、菜单栏、状态栏等等)和QDialog(对话框)是子类,继承关系
版本控制系统:svn(会将两个同名文件A B合并,但是写代码前需要更新update操作,相当于共享文档,如果忘记更新代码,产生冲突会报错,然后会显示,需要解决冲突问题,解决后输入slove结束,然后commit提交修改代码)、vss、git
创建好后,会生成的文件:.pro(project工程文件,相当于.sln文件),main.cpp是程序入口,mywidget.cpp和mywidget.h文件是自己写的窗口的文件
qmake所属模块,比如qudp里面qmake是network,需要在.pro文件里面添加network,我们现在默认是core和gui模块
具体说明一下代码的意义:
main.cpp文件的代码
#include "widget.h"//我自己写的一个头文件
#include <QApplication>//包含一个应用程序类的头文件
//main程序入口 argc命令行变量的数量 argv命令行变量的数组
int main(int argc, char *argv[])
{
//a应用程序对象 在QT中,应用程序对象有且只有一个
QApplication a(argc, argv);
//窗口对象 Widget父类是QWidget
Widget w;
//窗口对象,默认不会显示,必须要调用show方法显示窗口
w.show();
//让应用程序对象进入消息循环,让代码阻塞到这一行,不会一闪而过,相当于system("pause")
return a.exec();
}
.pro文件的代码,尽量不要修改,注释都尽量不要添加
QT += core gui //QT包含的模块,core核心模块 gui图形用户模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets//大于4版本以上,包含QT的widget模块
TARGET = 01firstQT//目标 生成的.exe程序的名称,可以从这里改exe的名称
TEMPLATE = app //模板 应用程序模板 application
SOURCES += \ //源文件,两个源文件
main.cpp \
widget.cpp
HEADERS += \
widget.h //头文件
FORMS += \
widget.ui
.h头文件的代码:
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget> //包含一个头文件QWidget,窗口类
namespace Ui {
class Widget;
}
class Widget : public QWidget //继承父类
{
Q_OBJECT // Q_OBJECT是一个宏,允许类中使用信号和槽的机制(默认存在)
public:
explicit Widget(QWidget *parent = 0); //构造函数,默认值为0
~Widget(); //析构函数
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
widget.cpp文件的代码,设置button的简要代码:
#include "widget.h"
#include "ui_widget.h"
#include<QPushButton> //按钮控件的头文件
//命名规范
//类名 首字母大写,单词和单词之间首字母大写
//函数名 变量名称 首字母小写 单词和单词之间首字母大写
//快捷键
//注释 ctrl + / 快速注释
//运行 ctrl + r
//编译 ctrl + b
//字体缩放 ctrl + 鼠标滚轮
//查找 ctrl + f
//整行移动 CTRL + shift + 上或者下
//帮助文档 F1,再F1全屏
//自动对齐 ctrl + i
//同名之间.h和.cpp 切换 F4
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
QPushButton * btn = new QPushButton;
btn -> show();//show函数弹出btn,但是只能以顶层的方式弹出控件,显示在单独层
//但是我们希望btn依赖在Widget窗口中
btn -> setParent(this);//设置附件!!!
btn -> setText("a");
QPushButton * btn2 = new QPushButton("d",this);//直接一行代码解决以上问题
btn -> move(100,100);//移动按钮,坐标点移动
resize(600,400);//重置窗口大小
setFixedSize(600,400);//设置固定窗口格式
setWindowTitle("窗口");//设置窗口标题
btn2 -> resize(50,50);//设置按钮的大小
}
Widget::~Widget()
{
delete ui;
}
好嘞!