目录
一.QPushButton的继承关系
QPushButton->QAbstractButton->QWidget->QObject
1.继承关系可以帮助理解子类去使用父类的方法,比如QWidget的resize方法,QPushButton也可以使用。
2.另外一点很重要的是,子类对象new出来后,需要释放时,这时候引入一个对象树的概念,最顶层的QObject对象被释放(点击×按钮),那么子类中的对象也跟着被释放,使用setParent就会把对象设置到对象树中。
3.对象树构造的顺序是从父类开始到子类,析构的顺序是从子类开始到父类。
二.创建QPushButton
1.创建一个QWidget项目,名称默认使用Widget
2.项目中会默认包含Widget.cpp和Widget.h文件,在Widget.cpp中的构造函数中创建QPushButton
3.使用前需要引入头文件
#include <QPushButton>
4.代码及解释如下
#include "widget.h"
#include <QPushButton>
Widget::Widget(QWidget *parent):QWidget(parent)
{
//创建按钮的第一种方式
QPushButton *btn_1=new QPushButton;
btn_1->setParent(this);
btn_1->setText("Button_1");
//创建按钮的第二种方式,直接传参
QPushButton *btn_2=new QPushButton("Button_2",this);
//移动btn_2按钮
btn_2->move(100,100);
//重置按钮大小
btn_2->resize(70,70);
//重置窗口大小
resize(600,400);
//设置固定的窗口大小
setFixedSize(600,400);
//设置窗口标题
setWindowTitle("第一个窗口");
}