创建QT对话框工程,动态创建多个按钮,把动态创建的按钮存放在QList中,并关联同一个信号槽函数,在该槽函数中根据按钮对象名称各自进行其他事项处理。

在mainwindow.h文件添加

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QPushButton> //Push按钮类
#include <QList> //列表类
#include <QDebug> //QDebug类QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private slots:void slotButtonClicked();//动态创建QPushButton按钮信号槽函数private:Ui::MainWindow *ui;QList<QPushButton*> btnPushlist;//动态创建按钮的列表QPushButton *btnPush;//动态创建按钮指针int total=3;//动态创建按钮的个数};
#endif // MAINWINDOW_H

在mainwindow.cpp添加

#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//动态创建按钮for(int i=0;i<total;i++){btnPush=new QPushButton(this);//设置按钮在主对话框的位置btnPush->setGeometry(50,100*i,100,25);//设置按钮对象名字btnPush->setObjectName("btnPush"+QString::number(i));//设置按钮显示文本btnPush->setText("按钮"+QString::number(i));//向QList添加成员项btnPushlist.append(btnPush);//关联信号槽函数connect(btnPushlist.at(i),SIGNAL(clicked()),this,SLOT(slotButtonClicked()));}}MainWindow::~MainWindow()
{delete ui;//删除QList占用的内存及清空列表qDeleteAll(btnPushlist);btnPushlist.clear();
}/*===动态创建QPushButton按钮信号槽函数===*/
void MainWindow::slotButtonClicked()
{QPushButton *btn = qobject_cast<QPushButton*>(sender());//获取按钮显示文本QString text = btn->text();//获取按钮对象名称QString name = sender()->objectName();//do something在这里进行其他事项处理qDebug()<<text;qDebug()<<name;}

效果:

QT5动态创建多个按钮控件并关联信号槽函数相关推荐

  1. C#,桌面编程入门(01)——按钮Button属性与事件、动态创建、快捷键、控件数组及自定义Button

    本文是<桌面编程入门>系列文章的开山之篇. <桌面编程入门>系列文章主要介绍桌面编程的各种组件,Button,ComboBox,Panel,WebBrowser...... 类 ...

  2. MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应...

    MFC小程序截图: 一.在MFC中简单使用WebBrowser的ActiveX插件的方法: 见博文:  http://blog.csdn.net/supermanking/article/detail ...

  3. 如何动态创建asp.net 用户控件

    this.PlaceHolder1.Controls.Add(new TextBox());  //可以 this.PlaceHolder1.Controls.Add(new MyContorl); ...

  4. 如何使用原生的 JavaScript 代码,触发 SAP UI5 按钮控件的点击事件处理函数

    我的技术交流群里,有朋友提问: 我有个 UI5 按钮,想用原生 js 去触发 click 事件.在 dom 上检测到 click 已经触发了,但是按按钮的动作响应没有发生.请问如何解决,谢谢. 解决这 ...

  5. QT 按钮控件设置快捷键

    概要 使用keyPressEvent 函数进行按按事按捕获 使用方法 头文件里重写事件 cpp文件 keyPressEvent需要注意的地方 用setShortcut设置快捷键 designer 上属 ...

  6. datetimepicker控件怎么改变hover颜色_Qt编写自定义控件9-导航按钮控件

    前言 导航按钮控件,主要用于各种漂亮精美的导航条,我们经常在web中看到导航条都非常精美,都是html+css+js实现的,还自带动画过度效果,Qt提供的qss其实也是无敌的,支持基本上所有的CSS2 ...

  7. 动态改变标题_插入控件-gt;引用变量-gt;实现动态图表纵横筛选

    欢迎关注我的微信公众号:HR爱玩儿Excel和PPT,分享有趣又有逼格的Excel和PPT创意和技巧,emmm...不关注也没有关系...哼 昨晚没睡好,因为睡前老友跟我说了句话: 我们总部做的表没有 ...

  8. 【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 编辑 Qt 桌面按钮控件 | 修改按钮文本 | 为按钮添加点击事件 | 系统调用 | 去掉系统调用命令窗口 )

    文章目录 一.添加按钮控件 二.修改按钮文本 三.为按钮添加点击事件 ( 弹出对话框 ) 四.为按钮添加点击事件 ( 打开记事本 ) 五.为按钮添加点击事件 ( 打开计算器 ) 六.去掉系统调用时弹出 ...

  9. Winform中实现自定义水晶按钮控件(附代码下载)

    场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建一个用户 ...

最新文章

  1. 对比学习系列论文SDCLR(一)-Self-Damaging Contrastive Learning论文的概括
  2. 设计模式总结 (3)创建内存型模式
  3. Python3.8 新特性:仅位置参数
  4. 把日志文件从Linux服务器拷贝到Windows上
  5. 新IT运维模式下,全栈溯源助你解应用性能监控难题
  6. android 自定义特效,Android自定义FloatingText仿点赞+1特效
  7. 【转】Objective-C 属性特性(assign , retain , copy , readonly , readwrite , atomic , nonatomic)...
  8. python实用技巧(四)
  9. Basic INFO - InstallShield的版本区分
  10. 提升工作效率的优秀工具收藏
  11. Excel导入SQL数据库出现的问题
  12. 关于事务开启与否对数据库插入数据所需时间的影响的讨论
  13. 第15天android:使用sqlite
  14. 清华大学数据结构c语言版pdf,清华大学出版社-图书详情-《数据结构(C语言版)(第3版)》...
  15. Win7 U盘安装Ubuntu16.04 双系统详细教程
  16. 职工信息管理系统(c语言实现)
  17. 台式计算机开关电源原理图,计算机开关电源基本结构及原理介绍
  18. 怎样启动本地mysql服务_启动本地mysql服务
  19. 小程序与bmob后端云
  20. 三步必杀【洛谷P4231】

热门文章

  1. CSharpGL(49)试水OpenGL软实现
  2. 阿里如何实现100%容器化镜像化?八年技术演进之路回顾(转)
  3. [译] 想帮助用户做决定?你的APP可以这样设计!
  4. 前端请求进化之路--从form表单到JSONP
  5. reinterpret_cast和static_cast的总结
  6. TP类库解析和使用系列[Input类]
  7. POJ 3250 Bad Hair Day【单调队列】
  8. 微软即将修复Windows 2000漏洞
  9. Spring IO platform
  10. hbase 修改表名_hbase修改表名 - 张欢19933的个人空间 - OSCHINA - 中文开源技术交流社区...