QT5动态创建多个按钮控件并关联信号槽函数
创建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动态创建多个按钮控件并关联信号槽函数相关推荐
- C#,桌面编程入门(01)——按钮Button属性与事件、动态创建、快捷键、控件数组及自定义Button
本文是<桌面编程入门>系列文章的开山之篇. <桌面编程入门>系列文章主要介绍桌面编程的各种组件,Button,ComboBox,Panel,WebBrowser...... 类 ...
- MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应...
MFC小程序截图: 一.在MFC中简单使用WebBrowser的ActiveX插件的方法: 见博文: http://blog.csdn.net/supermanking/article/detail ...
- 如何动态创建asp.net 用户控件
this.PlaceHolder1.Controls.Add(new TextBox()); //可以 this.PlaceHolder1.Controls.Add(new MyContorl); ...
- 如何使用原生的 JavaScript 代码,触发 SAP UI5 按钮控件的点击事件处理函数
我的技术交流群里,有朋友提问: 我有个 UI5 按钮,想用原生 js 去触发 click 事件.在 dom 上检测到 click 已经触发了,但是按按钮的动作响应没有发生.请问如何解决,谢谢. 解决这 ...
- QT 按钮控件设置快捷键
概要 使用keyPressEvent 函数进行按按事按捕获 使用方法 头文件里重写事件 cpp文件 keyPressEvent需要注意的地方 用setShortcut设置快捷键 designer 上属 ...
- datetimepicker控件怎么改变hover颜色_Qt编写自定义控件9-导航按钮控件
前言 导航按钮控件,主要用于各种漂亮精美的导航条,我们经常在web中看到导航条都非常精美,都是html+css+js实现的,还自带动画过度效果,Qt提供的qss其实也是无敌的,支持基本上所有的CSS2 ...
- 动态改变标题_插入控件-gt;引用变量-gt;实现动态图表纵横筛选
欢迎关注我的微信公众号:HR爱玩儿Excel和PPT,分享有趣又有逼格的Excel和PPT创意和技巧,emmm...不关注也没有关系...哼 昨晚没睡好,因为睡前老友跟我说了句话: 我们总部做的表没有 ...
- 【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 编辑 Qt 桌面按钮控件 | 修改按钮文本 | 为按钮添加点击事件 | 系统调用 | 去掉系统调用命令窗口 )
文章目录 一.添加按钮控件 二.修改按钮文本 三.为按钮添加点击事件 ( 弹出对话框 ) 四.为按钮添加点击事件 ( 打开记事本 ) 五.为按钮添加点击事件 ( 打开计算器 ) 六.去掉系统调用时弹出 ...
- Winform中实现自定义水晶按钮控件(附代码下载)
场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建一个用户 ...
最新文章
- 对比学习系列论文SDCLR(一)-Self-Damaging Contrastive Learning论文的概括
- 设计模式总结 (3)创建内存型模式
- Python3.8 新特性:仅位置参数
- 把日志文件从Linux服务器拷贝到Windows上
- 新IT运维模式下,全栈溯源助你解应用性能监控难题
- android 自定义特效,Android自定义FloatingText仿点赞+1特效
- 【转】Objective-C 属性特性(assign , retain , copy , readonly , readwrite , atomic , nonatomic)...
- python实用技巧(四)
- Basic INFO - InstallShield的版本区分
- 提升工作效率的优秀工具收藏
- Excel导入SQL数据库出现的问题
- 关于事务开启与否对数据库插入数据所需时间的影响的讨论
- 第15天android:使用sqlite
- 清华大学数据结构c语言版pdf,清华大学出版社-图书详情-《数据结构(C语言版)(第3版)》...
- Win7 U盘安装Ubuntu16.04 双系统详细教程
- 职工信息管理系统(c语言实现)
- 台式计算机开关电源原理图,计算机开关电源基本结构及原理介绍
- 怎样启动本地mysql服务_启动本地mysql服务
- 小程序与bmob后端云
- 三步必杀【洛谷P4231】
热门文章
- CSharpGL(49)试水OpenGL软实现
- 阿里如何实现100%容器化镜像化?八年技术演进之路回顾(转)
- [译] 想帮助用户做决定?你的APP可以这样设计!
- 前端请求进化之路--从form表单到JSONP
- reinterpret_cast和static_cast的总结
- TP类库解析和使用系列[Input类]
- POJ 3250 Bad Hair Day【单调队列】
- 微软即将修复Windows 2000漏洞
- Spring IO platform
- hbase 修改表名_hbase修改表名 - 张欢19933的个人空间 - OSCHINA - 中文开源技术交流社区...