1.QPushButton

我们开始学习Qt,首先我们学习QPushButton!

构造函数:

QPushButton::QPushButton(const QIcon &icon, const QString &text, QWidget *parent = nullptr)
        Constructs a push button with an icon and a text, and a parent.
        Note that you can also pass a QPixmap object as an icon (thanks to the implicit type conversion provided by C++).
QPushButton::QPushButton(const QString &text, QWidget *parent = nullptr)
        Constructs a push button with the parent parent and the text text.
QPushButton::QPushButton(QWidget *parent = nullptr)
        Constructs a push button with no text and a parent.

1.创建一个按钮:

Widget.cpp文件

#include "Widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //创建一个QpushButton按钮
    QPushButton *btn = new QPushButton("这是一个按钮");
    btn->show();                 //show是以顶层的方式弹出窗口控件
}

Widget::~Widget()
{
}

得到结果( btn->show(); 顶层弹出的原因导致的)

解决:

#include "Widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //创建一个QpushButton按钮
    QPushButton *btn = new QPushButton("这是一个按钮");
    //btn->show();//show是以顶层的方式弹出窗口控件
    //解决让btn依赖上Widget
    btn->setParent(this);//Widget只有一个
    
}

结果:

二.设置按钮名称: btn->setText("XXXX");

#include "Widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //创建一个QpushButton按钮
    QPushButton *btn = new QPushButton("这是一个按钮");
//    btn->show();//show是以顶层的方式弹出窗口控件
    //解决让btn依赖上Widget
    btn->setParent(this);//Widget只有一个
    //设置文本
    btn->setText("这是设置文本后的按钮");
}

Widget::~Widget()
{
}

结果:

三.使用QPushButton *btn = new QPushButton("这是一个按钮2",this);形式创建一个按钮

QPushButton *btn = new QPushButton("这是一个按钮2",this);

但是这样会出现一个`缺点`: 窗口运行时候会只是根据按钮大小创建

解决:重置窗口大小——resize(300,300);

#include "Widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{

     QPushButton *btn2 = new QPushButton("这是一个按钮2",this);
    resize(300,300);
}


Widget::~Widget()
{
}

结果:

我们把btn1 和 btn2 一起显示会发现出现重叠情况

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //创建一个QpushButton按钮
    QPushButton *btn = new QPushButton("这是一个按钮");
//    btn->show();//show是以顶层的方式弹出窗口控件
    //解决让btn依赖上Widget
    btn->setParent(this);//Widget只有一个
    //设置文本
    btn->setText("这是设置文本后的按钮");
     QPushButton *btn2 = new QPushButton("这是一个按钮2",this);
    resize(300,300);
}

 结果:

解决:重新设置按钮的坐标 ————btn->move(100,100);

结果:

 重新设置窗口的标题  setWindowTitle("这是一个新设置的标题");

结果:

 设置固定窗口大小:setFixedSize(100,100) ————窗口大小固定无法扩展大小

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值