3、按钮控件常用API

3.1、按钮创建的两种方式

在Qt中,最常用的控件之一就是按钮,按钮有以下两种创建方式:

注意:在创建按键之前一定要先包含按钮控件的头文件#include <QPushButton>

#include <QPushButton>//按钮控件的头文件

1、先创建,再赋值

    //创建一个按键
    QPushButton *btn=new QPushButton;
    //btn->show();//show以顶层的方式弹出窗口控件
    //让btn对象 依赖在myWidget窗口中
    btn->setParent(this);

    //显示文本
    btn->setText("第一个按钮");

上面代码中,一个按钮其实就是一个QPushButton类下的对象,如果只是创建出对象,是无法显示到窗口中的,所以我们需要依赖一个父窗口,也就是指定一个父亲利用setParent函数即可,如果想设置按钮上显示的文字利用setText,移动按钮位置用move


2、创建的同时赋值

 //创建第二个按钮  按照控件大小创建窗口
    QPushButton *btn2=new QPushButton("第二个按钮",this);

    //移动btn2按钮
    btn2->move(100,100);

    //重新指定按钮大小
    btn2->resize(200,200);

    //重置窗口大小
    resize(600,400);

    //设置固定窗口大小
    setFixedSize(600,400);

    //设置窗口标题
    setWindowTitle("第一个窗口");

第二种创建方式在new一个按键的时候就对按键进行了赋值操作,并将其绑定到了myWidget父类窗口下。

对于窗口而言,我们可以修改左上角窗口的标题setWindowTitle,重新指定窗口大小:resize,或者设置固定的窗口大小setFixedSize;


效果展示:

小结:

总结:

  1. 创建QPushButton * btn = new QPushButton
  2. 设置父亲 setParent(this)
  3. 设置文本 setText(“文字”)
  4. 设置位置 move(宽,高)
  5. 重新指定窗口大小 resize
  6. 设置窗口标题setWindowTitle
  7. 设置窗口固定大小setFixedSize

3.2、创建一个自己的按钮对象

1、创建按钮类(MyPushButton)

创建一个名为mypushbutton.h的头文件,把类的声明写在里面

#ifndef MYPUSHBUTTON_H
#define MYPUSHBUTTON_H

#include <QPushButton>

class MyPushButton : public QPushButton//公有继承于QPushButton
{
    Q_OBJECT
public:
    explicit MyPushButton(QWidget *parent = nullptr);//构造函数参数默认为空

    ~MyPushButton();//默认析构

signals:

};

#endif // MYPUSHBUTTON_H

explicit只用于修饰只有一个参数的构造函数,用于表明改构造函数是显式的(禁止隐式转换和自动类型转换),和它相对的是implicit,表示构造函数是隐式的。

更多关于explicit的信息可以参考以下文章或自行csdn:

C++ explicit关键字详解_c explicit-CSDN博客

创建名为mypushbutton.cpp的源文件,用于写类的实现

#include "mypushbutton.h"//链接类的声明
#include <QDebug>//Debug文字需要头文件

MyPushButton::MyPushButton(QWidget *parent) : QPushButton(parent)//构造函数初始化赋值
{
    qDebug()<<"我的按钮类构造调用";
}

MyPushButton::~MyPushButton()//析构
{
    qDebug()<<"我的按钮类析构";
}

至此,类就创建完成了,下面我们就可以实例化对象了


2、创建自己的按钮对象

//创建一个自己的按钮对象
    MyPushButton *myBtn=new MyPushButton;
    myBtn->setText("我自己的按钮");
    myBtn->move(200,0);
    myBtn->setParent(this);//设置到对象树中,窗口释放的时候会被自动释放

根据之前我们创建按钮的方法,我们就能实例化自己实现的按钮了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值