https://www.bilibili.com/video/BV1g4411H78N?p=6
添加按钮 QPushButton
添加控件到窗口,需要添加内容到 mywidget.cpp
#include "mywidget.h"
#include <QPushButton> //按钮控件的头文件
#include "mypushbutton.h"
#include <QDebug>
// 命名规范
// 类名 首字母大写,单词和单词之间首字母大写
// 函数名 变量名称 首字母小写,单词和单词之间首字母大写
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的析构调用";
}
按钮控件常用API
- 创建
QPushButton * btn = new QPushButton
- 设置父亲
setParent(this)
- 设置文本
setText("文字")
- 设置位置
move(宽,高)
- 重新指定窗口大小
resize
- 设置窗口标题
setWindowTitle
- 设置窗口固定大小
setFixedSize
自定义控件
想自定义按钮继承自QPushButton
选项中 没有这个类,可以选择它的父类 QWidget,然后修改文件。
#ifndef MYPUSHBUTTON_H
#define MYPUSHBUTTON_H
#include <QPushButton>
class MyPushButton : public QPushButton
{
Q_OBJECT
public:
explicit MyPushButton(QWidget *parent = 0);
~MyPushButton(); // 申明析构函数
signals:
public slots:
};
#endif // MYPUSHBUTTON_H
#include "mypushbutton.h"
#include <QDebug>
MyPushButton::MyPushButton(QWidget *parent) : QPushButton(parent)
{
qDebug() << "我的按钮类 构造调用";
}
MyPushButton::~MyPushButton()
{
qDebug() << "我的按钮类 析构";
}
对象树
当创建的对象在堆区时候,如果指定的父亲是QObject派生下来的类或者QObject子类派生下来的类,可以不用管理释放的操作,将对象会放入到对象树中。
这种机制 这一定程度上简化了内存回收机制。文章来源:https://www.toymoban.com/news/detail-604747.html
坐标系
- (0,0) 在左上角。
- x以右为正方向
- y以下为正方向
伊织 2021-02-04 07:46文章来源地址https://www.toymoban.com/news/detail-604747.html
到了这里,关于Qt - 控件和布局的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!