1.按钮控件常用API
- 创建 QPushButton *btn=new QPushButton;
- 设置父亲 btn->setParent(this);(tihs指针使按钮固定到窗口上)
- 设置文本 btn->setText(“Push Me!”);
- 设置位置 btn2->move(100,50);//宽,高
- 重新指定窗口大小 resize(600,400);
- 窗口固定大小 setFixedSize(600,400);
- 设置窗口标题 setWindowTitle(“第一个窗口”);
PS :窗口坐标系
2. 对象树(析构顺序)
QWidget是所有能够在屏幕显示的一切组件的父亲。当创建的对象在堆区的时候,如果指定对象的父亲是QObject派生下来的类或者QObject子类派生下来的类,可以不用管理释放操作,对象树中的对象自动回收,一定程度上简化了内存回收机制。
3.信号和槽(slot,处理函数)机制
松散耦合:信号发送端和接收端 本身没有关联,需要连接。
//连接函数:connect(信号发送方、发送的信号(函数地址)、接受者、处理槽函数)
connect(btn ,&QPushButton::clicked,this,&myWidget::close);
连接函数:connect(信号发送方、发送的信号(函数地址)、接受者、处理槽函数)
/*************
*mywidget.cpp
**************/
#include "mywidget.h"
#include "QPushButton"
myWidget::myWidget(QWidget *parent)
: QWidget(parent)
{
//创建一个按钮
QPushButton *btn=new QPushButton;
//btn->show();以顶层方式显示。
//依赖窗口显示
btn->setParent(this);
//显示文本
btn->setText("Push Me!");
//按照控件大小创建窗口
QPushButton *btn2=new QPushButton("第二个按钮",this);
//移动btn2按钮
btn2->move(100,50);
//设置窗口大小
resize(600,400);
// resize(200.100);
//固定窗口大小
// setFixedSize(600,400);
//设置窗口标题
setWindowTitle("第一个窗口");
//点击按钮关闭窗口
//参数: 信号发送方、发送的信号(函数地址)、接受者、处理槽函数
connect(btn ,&QPushButton::clicked,this,&myWidget::close);
}
myWidget::~myWidget()
{
}