2.在窗口中添加按钮

按钮控件

//头文件
#ifndef MYWIDGET_H
#define MYWIDGET_H

#include <QWidget>
#include <qpushbutton.h>


class MyWidget : public QWidget
{
    Q_OBJECT

public:
    MyWidget(QWidget *parent = 0);
    ~MyWidget();
private:
    QPushButton b1;
    QPushButton * b2;
};

#endif // MYWIDGET_H

//CPP文件
#include "mywidget.h"

MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent)
{
    //初始化
    //创建按钮需要依附于父类MyWidget,所以添加this
    //b2创建的是指针类型,所以需要先创建个对象将地址放进去,调用方法用指针的->
    //Qt自带内存回收机制,不用释放b2,适用于QOBJECT直接/间接派生类
    b2=new QPushButton("b2",this);
    //父窗口显示的时候,子窗口也会显示
    //b2->show();
    //b1创建的是QPushButton类对象,所以直接用.调用
    b1.setText("b1");
    b1.setParent(this);
    //坐标
    b1.move(100,100);
}

MyWidget::~MyWidget()
{

}

如何创造一个按钮?

  1. 实例化按钮对象QPushButton
  2. 调用相应的方法

在程序里面讲授了两种方法:

直接创建对象

QPushButton b1;
b1.setText("b1");
b1.setParent(this);
b1.move(100,100);
  • b1.setParent(this);这个函数作用是设置这个对象的父类为顶部窗口,将按钮依附.
  • b1.move(100,100);这个方法作用是移动按钮位置.

创建相应的指针,分配内存.

b2=new QPushButton("b2",this);

Qt自带内存回收机制,不用释放b2,适用于QOBJECT直接/间接派生类

内存回收机制

自动回收

  1. QOBJECT直接/间接派生的类.
  2. 指定父类,父类析构的时候,先析构子类.

从零开始创建带按钮的界面

首先新建个Class,基类选择QWidget,创建后出现一个.h文件一个.cpp文件.
将.h包含进main文件中.
在.h文件中加入代码:

#include <QPushButton>

在Class中定义一个private权限的QPushButton对象.

QPushButton b1;

在构造函数中调用各种方法.

b1.setText("Button1");//文本显示
b1.setParent(this);//父类设置
b1.move(100,100);//移动

在main()函数中调用:

MyWidget w;
w.show();
原文地址:https://www.cnblogs.com/cnleika/p/10525942.html