目录
3.方法三:继承QPushButton类,自定义 MyQPushBtn类。
一、创建QPushButton
1.方法一:
QPushButton *btn=new QPushButton;
// btn->show();//以顶层的方式单独弹出窗口控件
btn->setParent(this);
btn->setText("第一个按钮");
btn->move(0,100);
2.方法二:按照按钮的大小创建窗口。
QPushButton *btn2=new QPushButton("第二个按钮",this);
搭配使用->重置窗口大小:
//重置窗口大小
this->resize (600,400);
//移动位置
btn2->move(100,100);
扩展:
//设置固定窗口大小,不可拖拽
this->setFixedSize(600,400);
//设置窗口标题
setWindowTitle("QPushBtn Study");
3.方法三:继承QPushButton类,自定义 MyQPushBtn类。
//myqpushbtn.h
#ifndef MYQPUSHBTN_H
#define MYQPUSHBTN_H
#include <QPushButton>
#include <QDebug>
class MyQPushBtn : public QPushButton
{
Q_OBJECT //Q_OBJECT宏,允许类中使用信号和槽机制
public:
explicit MyQPushBtn(QWidget *parent = nullptr);
~MyQPushBtn();
signals:
};
#endif // MYQPUSHBTN_H
//myqpushbtn.cpp
#include "myqpushbtn.h"
MyQPushBtn::MyQPushBtn(QWidget *parent) : QPushButton(parent)
{
}
MyQPushBtn::~MyQPushBtn()
{
qDebug()<<"~MyQPushBtn";
}
MyQPushBtn的使用:
#include "widget.h"
Widget::Widget(QWidget *parent): QWidget(parent)
{
MyQPushBtn *btn3=new MyQPushBtn(this);
btn3->setText("第三个按钮");
btn3->move(200,100);
}
Widget::~Widget()
{
qDebug()<<"~Widget";
}
扩展:对象树
更多细节:https://zhuanlan.zhihu.com/p/43523879
QObject是QT中所有类的基类(所以QObject是QWidget的基类),QWidget是所有UI Widget类的基类。
//QObject
typedef QList<QObject*> QObjectList;
inline const QObjectList &chi

本文详细介绍Qt中QPushButton的创建方法及自定义信号和槽的实现方式,包括按钮的三种创建方式、对象树概念解析、信号和槽的基础及进阶应用。
最低0.47元/天 解锁文章
8780





