main.cpp文件
#include "mywidget.h" //包含头文件
#include <QApplication> //包含QApplication头文件
//程序入口 argc命令行变量的数量 argv命令行变量数组
int main(int argc, char *argv[])
{
QApplication a(argc, argv); //a 应用程序对象,对于Qt项目必须有应用程序对象,而且有且仅有一个
MyWidget w; //创建一个MyWidget对象
w.show(); //创建出的窗口对象并不会直接显示,需要调用show方法
return a.exec(); //进入消息循环机制,阻塞状态
// while(true)
// {
// if(点击叉子)
// break;
// }
}
在使用Qt向导生成的应用程序.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 //头文件
//命名规范
//类名 首字母大写、单词与单词之间 首字母大写
//函数、变量名称首字母小写 单词与单词之间首字母大写
//帮助文档的查看方式
//第一种 f1查看
//第二种 左侧的按钮
//第三种 exe程序
//快捷键
//编译+运行 ctrl +r
//编译 ctrl+b
//帮助文档 f1
//字体大小 ctrl + 鼠标滚轮
//同名的.h 和.cpp之间的切换 F4
//注释 ctrl+ /
//查找关键字 ctrl +f
// ctrl + shift +↑ 或者↓
窗口设置函数
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
QPushButton * btn =new QPushButton;
// btn->show();
//btn应该依赖于主窗口
btn->setParent(this);
//显示文字
btn->setText("第一个按钮");
//第二种创建方式
QPushButton * btn2 = new QPushButton("第二个按钮",this);
//移动窗口
btn2->move(100,100);
//重置窗口大小
resize(960,640);
//btn可不可以 resize? 可以
btn2->resize(50,50);
//设置窗口标题名称
this->setWindowTitle("标题");
//对象树在其他文件自己建了一个按钮类MyButton继承QPushButton
MyButton * myBtn = new MyButton();
myBtn->setParent(this);
myBtn->move(200,200);
myBtn->setText("我的按钮");
//窗体的坐标系
//左上角为 0 0 点
// x 以右侧为正方向 y 以下侧为正方向
//需求 点击“我的按钮” ,关闭窗口
//连接信号槽的关键字 connect
//4个参数 参数1 信号发送者 参数2 发送的信号 参数3 信号的接受者 参数4 处理的槽函数
//参数2 和参数4 需要的都是函数地址
connect(myBtn,&QPushButton::clicked,this,&MyWidget::close);
//&在QT高版本中进行了优化,可以不写,推荐标准写法,写&
}