mypushbutton.cpp
#include "mypushbutton.h"
#include<QDebug>
MyPushButton::MyPushButton(QWidget *parent) : QPushButton(parent)
{
qDebug() << "我的按钮类的调用";
}
MyPushButton::~MyPushButton()
{
qDebug() << "我的按钮类的析构";
}
mywidget.cpp
#include "mywidget.h"
#include <QPushButton>
#include "mypushbutton.h"
#include<QDebug>
// 命名规范
// 类名 首字母大写,单词单词之间首字母大写
// 函数名 变量名称 首字母小写,单词与单词间首字母大写
// 快捷键
// 注释 ctrl + /
// 运行 ctrl + r
// 编译 ctrl + b
// 字体缩放 ctrl + 鼠标滚轮
// 查找 ctrl + f
// 帮助文档 F1
// 自动对齐 ctrl + i
// 同名之间的.h和.cpp快速切换 F4
myWidget::myWidget(QWidget *parent)
: QWidget(parent)
{
//重置窗口大小
resize(600,400);
//创建按钮
QPushButton * btn = new QPushButton;
btn->move(100,0);
//show以顶层的方式弹出窗口控件
// btn->show();
// 让对象依赖在myWidget窗口中
btn->setParent(this);
//显示文本
btn->setText("please click");
//创建第二个按钮
QPushButton * btn2 = new QPushButton("第二个按钮",this);
//按钮重新设置大小
btn2->resize(100,50);
//移动第二个按钮
btn2->move(100,100);
//设置窗口标题
setWindowTitle("first window");
//设置固定的窗口大小
setFixedSize(600,400);
//创建一个自己的按钮对象
MyPushButton * btn3 = new MyPushButton;
btn3->move(100,200);
btn3->setText("third button");
btn3->setParent(this);
}
myWidget::~myWidget()
{
qDebug() << "myWidget析构";
}
main.cpp
#include "mywidget.h"
#include <QApplication> //包含一个应用程序类的头文件
//程序入口 argc命令行变量的数量 argv命令行变量的数组
int main(int argc, char *argv[])
{
//a是应用程序对象,在Qt中有且仅有一个,且必须有
QApplication a(argc, argv);
//窗口对象 myWidget父类 -> Qwidget
myWidget w;
//窗口对象默认不会显示,必须要调用show方法显示窗口
w.show();
//让应用程序进入消息循环
return a.exec();
}
当创建的对象在堆区的时候,如果它是友QObject所派生出来的类,可以不用管释放的操作,此对象会被放入对象树,Qt会自动帮你释放。