QT 使用信号和槽,让QLabel的内容实时与QLineEdit同步,类似vue框架的双向绑定

在窗口里放置一个单行文本编辑器(QLineEdit)和一个标签控件(QLabel),实现的效果就是当编辑器的内容被编辑时,标 签控件同步显 示编辑控件里的内容

1)当 lineEdit 控件被用户编辑时,它会发出信号 

2)希望标签控件自动同步修改文本,QLabel标签控件自带槽函数:

 

之前我们一直拿这个槽函数当普通成员函数来修改标签控件文本的,它本质是一个槽函数。接收端的槽函数也是 Qt 库自带的,我们需要做的就是把它们关联起来。
只需要在窗体构造函数加一个 connect 函数调用就行了,手动修改后的 widget.cpp 文件内容如下: 

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    //关联单行编辑控件的信号到标签控件的槽函数
    connect(ui->lineEdit, SIGNAL(textEdited(QString)), ui->label, SLOT(setText(QString)));
}

Widget::~Widget()
{
    delete ui;
}

这样整个例子的代码编辑就完成了信号和槽机制,源头控件 lineEdit 的信号是 Qt 库自带的,接收端控件 label 的槽函数也是 Qt 库自带的,我们只需要添加 connect 函数调用关联它们就行了。

 

相关推荐

  1. vue2 双向数据实现及原理

    2024-06-07 13:52:02       12 阅读
  2. Vue双向数据是如何实现

    2024-06-07 13:52:02       10 阅读
  3. Vue双向数据原理

    2024-06-07 13:52:02       45 阅读
  4. vue双向原理

    2024-06-07 13:52:02       30 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-07 13:52:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-07 13:52:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-07 13:52:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-07 13:52:02       20 阅读

热门阅读

  1. 你了解nibsc官网怎么查标准品信息吗?

    2024-06-07 13:52:02       10 阅读
  2. ElementUI之表格组件

    2024-06-07 13:52:02       6 阅读
  3. Linux 命令 `ar` 详解:静态库的管理利器

    2024-06-07 13:52:02       10 阅读
  4. MyBatis Plus<=3.5.6 存在 SQL 注入漏洞

    2024-06-07 13:52:02       9 阅读
  5. vue开发网站--刷新当前页面

    2024-06-07 13:52:02       7 阅读
  6. C++开源项目

    2024-06-07 13:52:02       8 阅读
  7. UE4动作游戏实例RPG Action解析-导语

    2024-06-07 13:52:02       6 阅读
  8. Android 跳转系统Settings各界面的ACTION及示例

    2024-06-07 13:52:02       6 阅读
  9. 【chatgpt】学术翻译和英文润色prompt

    2024-06-07 13:52:02       7 阅读
  10. NLP--词袋模型

    2024-06-07 13:52:02       6 阅读
  11. 【力扣】合并k个升序链表

    2024-06-07 13:52:02       8 阅读