QT使用提升自定义组件

本文介绍了如何在QT中通过组件提升来实现自定义功能,特别是针对多个相同类型的组件需要绑定相同功能的情况。举例说明了对QLineEdit的继承和提升,创建了CLinedEdit类,用于连接输入框、按钮和内存数据,实现点击按钮时更新数值并显示。文章还提及提升可以应用于不同类型的数据,如字符串,并提供了相关学习资源。
摘要由CSDN通过智能技术生成

QT 组件提升来实现自定义功能

介绍

我们在使用QT设置界面之后,往往需要自己实现一些方法,如果是单独 的还好,但是如果遇到很多同类型的都有需求,

比如 我们使用 QLineEdit 来处理数据,每次填入的数值都要更新到一个参数值中的时候, 我们需要将这个输入框的完成信号 连接到一个自定义的函数中 来更改某个值,

如果很多的时候, 我们就可以使用 继承组件然后使用提升来做了

应用

如图所示的界面,我们需要对每个单行编辑框, 完成点击按钮就调整值的的方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DOMr10he-1585143681225)(./QT使用提升自定义组件/QT_promotion.png)]

具体的提升的方法可以参考 Qt自定义控件以及控件的提升 的具体做法, 这里只介绍我们使用的方法

我们自定义的 类为 CLineEdit
我们设置了 公开的 Associate 函数, 将我们需要显示的 QLineEdit 组件 和两个 点击按钮以及内存存储相应数据的位置 关联起来, 点击相应按钮之后 会执行内存数据的加减, 然后再显示在相应的组件上, 便于查看,

实现代码

具体实现代码
/**
 * @file    Code\model\clineedit.h.
 * @copyright   Copyright (c) 2019 IRIS_Chen IRIS Lab
 *
 * @brief   Declares the clineedit class
 * @changelog   2019/11/12    IRIS_Chen Created.
 */

#ifndef CLINEEDIT_H
#define CLINEEDIT_H

#include <QObject>
#include <QPushButton>
#include <QLineEdit>
#include <QMouseEvent>
#include <QLabel>
#include <QObject>
#include <QWidget>
#include <QString>

/**
 * @class   CLineEdit clineedit.h Code\model\clineedit.h
 *
 * @brief   继承Qt 自定义文件 提升成为自己的组件, 修改窗口的值之后 保证相应的值 直接赋值到相应的内存中 如果关联了相应的 点击按钮, 按钮点击之后可以触发 数据更改
 *
 * @author  IRIS_Chen
 * @date    2019/11/13
 */

class CLineEdit : public QLineEdit
{
   

    private:

    int *m_data_;   ///< 指定数据关联的指针
    QPushButton *btn_plus_; ///< 定义增加按钮
    QPushButton *btn_minus_;    ///< 定义减少按钮
    public:
    explicit CLineEdit(QWidget *parent = nullptr) 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值