Qt编程12:QSignalMapper多对一信号影射简单使用
步骤:
1)首先构建QSignalMapper对象
2)根据实际情况,设置控件与QsignalMapper对象与函数map()连接
3)建立信号连接:使用setMapping()发送带有参数的mapped()信号
3)将QSignalMapper对象与自定义槽函数连接
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QPushButton>
#include <QTextCodec>MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{QTextCodec * codec = QTextCodec::codecForLocale();QTextCodec::setCodecForTr(codec);ui->setupUi(this);//构建signalMapper对象signalMapper = new QSignalMapper(this);//调用函数更新主界面布局(添加按钮)buttonFunc();//连接connect(signalMapper,SIGNAL(mapped(QString)),SLOT(TextToBrswser(QString)));
}MainWindow::~MainWindow()
{delete ui;
}//
void MainWindow::buttonFunc()
{for(int index = 0;index < 10;index++){QPushButton *button = new QPushButton(this);button->setText(tr("第%1按钮").arg(QString::number(index+1,10)));ui->verticalLayout->addWidget(button);if(index == 9){button->setText(tr("清空"));}//button信号clicked()与map()连接connect(button,SIGNAL(clicked()),signalMapper,SLOT(map()));//建立信号映射,发送mapped()信号signalMapper->setMapping(button,button->text());}
}void MainWindow::TextToBrswser(QString tmpStr)
{ui->textBrowser->append(tr("%1 被点击了!").arg(tmpStr));//在此可以根据参数确定是哪个按钮被点击,可以进一步做出操作//如果“清空”按钮被点击,清空textBrowser中的内容if(tmpStr.contains(tr("清空"))){ui->textBrowser->clear();}
}
Qt编程12:QSignalMapper多对一信号影射简单使用相关推荐
- 【QT编程】QT对象间通讯——信号与槽
01.目录 文章目录 01.目录 02.信号与槽介绍 03.信号与槽机制 04.信号(Signal) 05.槽函数(Slot) 06.一个示例 07.一个真实的示例 08.信号和槽使用默认参数 09. ...
- Qt编程中的信号和槽机制
Qt编程中的信号和槽机制 在使用自定义类创建一个按钮之后,只能看到一个按钮的图形,但是使用鼠标点击并无任何反应,下面想要实现一个"点击按钮可以关闭窗口"的功能. 关闭窗口的功能可以 ...
- Qt 5.12学习笔记--QML性能策略
Qt 5.12学习笔记--QML性能策略 1 简介 2 时间因素 2 性能分析 3 JavaScript 部分 4 绑定 5 类型转换 6 解析属性 6 属性绑定 7 序列提示(Sequence ti ...
- 第二章 Qt编程核心技术
QT编程核心技术介绍 第二章 Qt编程核心技术 Qt/X11与Qt/Embedded版本的Qt类库,尽管类的底层实现有一些细微区别,但类的声明及方法函数是一样的,对于编写Qt应用程序的编程者来说,几乎 ...
- QT编程核心技术介绍
第二章 Qt编程核心技术 Qt/X11与Qt/Embedded版本的Qt类库,尽管类的底层实现有一些细微区别,但类的声明及方法函数是一样的,对于编写Qt应用程序的编程者来说,几乎不需要关心这些区别,使 ...
- 【转】10.Qt编程涉及的术语和名词
本节我们来介绍一下使用 Qt 编程过程中常用的术语和名字,它们不一定专属于 Qt,在其它的 C/C++ 开发过程中也会使用到. Project Project 的中文翻译是"项目" ...
- theoretical-零基础学Qt4编程之Qt核心机制与原理之信号与槽-
信号与槽 信号和槽机制是Qt的核心机制之一,要掌握Qt编程就需要对信号和槽有所了解.信号和槽是一种高级接口,它们被应用于对象之间的通信,它们是Qt的核心特性,也是Qt不同于其它同类工具包的重要地方之一 ...
- 高级shell脚本编程之函数库、信号与陷进、文件处理、数组、安全性
高级shell脚本编程之函数库.信号与陷进.文件处理.数组.安全性 1.函数库 把所有需要用到的函数都放到一个文件中,然后每个脚本的开头包含这个文件.例如: #!/bin/sh scope(){ lo ...
- qt5.12 linux版本,Qt 5.12 LTS发布下载,附新功能及更新内容
Qt 5.12 已经发布下载,这是一个 LTS 长期支持版本,使用 Qt 5.12 的用户将获得三年的技术支持.下面将为你介绍 Qt 5.12 的新功能及更新内容,同时,对比上一个 LTS 版本 5. ...
最新文章
- nginx源码编译、负载均衡及模块的扩展
- php 验证qq密码错误,QQ输入正确密码却验证错误的解决办法
- 学长毕业日记 :本科毕业论文写成博士论文的神操作20170404
- eclipse入门指南
- CSS中盒模型的理解
- C++ primer 第11章 关联容器
- 全源最短路径之弗洛伊德算法(C语言)
- 这才是2018年的技术趋势:云、大数据、IOT深度融合
- 白盒测试工具―Winams
- RK3399pro 使用TNN日记 2(Linux系统)
- 算法课设——逃狱的汉尼拔博士
- 【数藏之家】盘点周杰伦的NFT之路,NFT如何借明星之力形成“破圈效应”?
- 从一到无穷大 #5 公有云时序数据库定价
- 老罗的锤子,3000块钱贵吗?
- appdata是什么文件夹?appdata文件夹可以删除吗?
- python批量下载邮件附件
- 基于AndroidStudio员工绩效考核评价系统app设计
- 归一化数字角频率_数字信号处理中的归一化频率
- 硕士复试自我介绍中英模板
- Elasticsearch mapping与analysis
热门文章
- Gearman 介绍
- kubeadm安装Kubernetes-1.6.1集群
- 作为技术负责人,如何从0搭建公司后端技术栈
- 结对第二次—文献摘要热词统计及进阶需求
- python爬虫抓取动态网页数据_python网络爬虫抓取ajax动态网页数据:以抓取KFC门店地址为例...
- 腾讯新闻android2.3,腾讯新闻Android客户端更新 加入投票功能
- 武海滨:沪江如何搭建优秀的在线教育平台
- django页面跳转问题
- 这个专门提供多角恋约会的软件,终于被谷歌封杀了
- 入职外包一个月,我离职了