最新QT从入门到实战(06 QPushButton创建_)
一、06 QPushButton创建_
最常用的是一个叫按钮啊,那么按钮呢,就是你点击之后啊,你可以什么显示一些内容,我们看一下刚才所所说的一个叫按钮叫q button啊,首先呢,在这个类中啊,你要先看一下它的一些信息,它信息在这儿Q或是button的class这个类。那么第一个呢,上边这个东西是更多的介绍,头文件,就是你想使这个类的话,你要包含一个叫Q,就是button的头文件。
第二个。q make q就是它所属的模块啊,你看它所属widget模块,这个模块有吧,5.4版本以上是不是都装访了这个模块,你是不是可以直接使啊,对吧?好,那么后边以后假设咱们有同学在这个从事这科技这个方向啊,那么你可能会用到网络通讯,网络通讯呢,就叫q udp socket或者是TCP啊,那么udp也好,TC也好,你看它包含的q make。network对吧?network这个模块默认的这个项目中创建之后有network吗?没有,这个时候我说这个代码你不要瞎添加,除非你知道你要添加的是什么network,如果你要用到了network这里边你就可以把这个模块加上去,这个模块就相当于你要自己知道有这个模块存在啊,有这么一个模块存在,而且并且你用到了这里边的类,OK,你可以把这个模块加进去啊,那么现在我们用不到。
但是你在写之前呢,先要引用一个头文件include Qpushbutton,这个就是按钮的文件。按钮控件的头文件啊,那么这个控件呢,你在使的时候就可以来跳push button,创建一个button出来啊,那么这个button现在是空的啊,现在是还我是还没有写任何的这个内容往上写啊,那么你想创建一个按钮呢,你就可以来一个创建堆区**呗,你再 new Qpushbutton。是不是就有一个按钮出来了,对吧?好,那么这个按钮现在已经有了,有了之后运行一下。
那它也是可以的,因为它这相当于在去调用它父类的父类中的一个函数,所以说呢,你既然继承下来这个一个函数也可以的,那答案是这个可以的啊可以
这样中文就不会乱码了!
二,代码
#include "mywidget.h"
#include <QPushButton> //按钮控件的头文件
#include "mypushbutton.h"
#include <QDebug>
// 命名规范
// 类名 首字母大写,单词和单词之间首字母大写
// 函数名 变量名称 首字母小写,单词和单词之间首字母大写
//快捷键
//注释 ctrl + /
//运行 ctrl + r
//编译 ctrl + b
//字体缩放 ctrl + 鼠标滚轮
//查找 ctrl + f
//整行移动 ctrl + shift + ↑ 或者↓
//帮助文档 F1
//自动对齐 ctrl + i;
//同名之间的.h 和 .cpp切换 F4
//帮助文档 第一种方式 F1 第二种 左侧按钮 第三种 C:\Qt\Qt5.6.0\5.6\mingw49_32\bin
myWidget::myWidget(QWidget *parent)
: QWidget(parent)
{
//创建一个按钮
QPushButton * btn = new QPushButton;
//btn->show(); //show以顶层方式弹出窗口控件
//让btn对象 依赖在 myWidget窗口中
btn->setParent(this);
//显示文本
btn->setText("第一个按钮");
//创建第二个按钮 按照控件的大小创建窗口
QPushButton * btn2 = new QPushButton("第二个按钮",this);
//移动btn2按钮
btn2->move(100,100);
//按钮可不可以 重新制定大小 可以!
btn2->resize(50,50);
//重置窗口大小
resize(600,400);
//设置固定窗口大小
setFixedSize(600,400);
//设置窗口标题
setWindowTitle("第一个窗口");
//创建一个自己的按钮对象
MyPushButton * myBtn = new MyPushButton;
myBtn->setText("我自己的按钮");
myBtn->move(200,0);
myBtn->setParent(this); //设置到对象树中
//需求 点击我的按钮 关闭窗口
//参数1 信号的发送者 参数2 发送的信号(函数的地址) 参数3 信号的接受者 参数4 处理的槽函数
//connect( myBtn, &MyPushButton::clicked, this, &myWidget::close );
connect( myBtn, &QPushButton::clicked, this, &QWidget::close );
}
myWidget::~myWidget()
{
qDebug() << "myWidget的析构调用";
}