当前位置: 首页 > wzjs >正文

无锡网站设计 众做算命网站犯法吗

无锡网站设计 众,做算命网站犯法吗,创建wordpress用户,做网站需要会哪些计算机语言一.Qt中处理多个同类型对象共享槽函数应用场景数字键盘按钮处理动态生成的控件管理工具栏按钮响应游戏中的网格点击处理使用时需特别注意对象生命周期管理和类型安全,现代Qt开发中更推荐使用Lambda表达式替代sender()机制。二.示例1.本文示例功能在ui界面添加5个&am…

一.Qt中处理多个同类型对象共享槽函数应用场景

数字键盘按钮处理

动态生成的控件管理

工具栏按钮响应

游戏中的网格点击处理

使用时需特别注意对象生命周期管理和类型安全,现代Qt开发中更推荐使用Lambda表达式替代sender()机制。

二.示例

1.本文示例功能

   在ui界面添加5个(可以更多)button控件,然后在一个click槽函数里面响应操作,这样可以使代码更简洁,尤其是botton更多的时候。

   

2.代码:方式一  

(1).mainwindow.h

#ifndef MAINWINDOW_H

#define MAINWINDOW_H

#include <QMainWindow>

#include <QPushButton>

#define MAX_NUM_SIZE 5

QT_BEGIN_NAMESPACE

namespace Ui {

class MainWindow;

}

QT_END_NAMESPACE

class MainWindow : public QMainWindow

{

    Q_OBJECT

public:

    MainWindow(QWidget *parent = nullptr);

    ~MainWindow();

private slots:

    void slot_multi_btn_clicked();

private:

    Ui::MainWindow *ui;

    QPushButton *btnConn[MAX_NUM_SIZE];

};

#endif // MAINWINDOW_H

(2).mainwindow.cpp

#include "mainwindow.h"

#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)

    : QMainWindow(parent)

    , ui(new Ui::MainWindow)

{

    ui->setupUi(this);

    btnConn[0]=ui->pushButton;

    btnConn[1]=ui->pushButton_2;

    btnConn[2]=ui->pushButton_3;

    btnConn[3]=ui->pushButton_4;

    btnConn[4]=ui->pushButton_5;

    for (int i=0;i<MAX_NUM_SIZE;i++) {

        connect(btnConn[i],SIGNAL(clicked()),this,SLOT(slot_multi_btn_clicked()));

    }

}

MainWindow::~MainWindow()

{

    delete ui;

}

void MainWindow::slot_multi_btn_clicked()

{

    int ret;

    QObject *obj = sender();

    QPushButton *btn = dynamic_cast<QPushButton *>(obj);

    for (int i=0;i<MAX_NUM_SIZE;i++)

    {

        if(btn == btnConn[i])

        {

            qDebug()<<"slot_multi_btn_clicked: i=" <<i;

        }

    }

}

2.代码:方式二(QT6 推荐)

mainwindow.cpp

#include "mainwindow.h"

#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)

    : QMainWindow(parent)

    , ui(new Ui::MainWindow)

{

    ui->setupUi(this);

    btnConn[0]=ui->pushButton;

    btnConn[1]=ui->pushButton_2;

    btnConn[2]=ui->pushButton_3;

    btnConn[3]=ui->pushButton_4;

    btnConn[4]=ui->pushButton_5;

    // 使用Lambda表达式捕获上下文

    for(int i=0; i<MAX_NUM_SIZE; i++){

        connect(btnConn[i], &QPushButton::clicked, this, [this, i](){

            // 直接使用索引i操作

            multi_btn_clicked(i);

        });

    }

    

}

MainWindow::~MainWindow()

{

    delete ui;

}

void MainWindow::multi_btn_clicked(int i)

{

    qDebug()<<"slot_multi_btn_clicked two: i=" <<i;

}

http://www.dtcms.com/wzjs/834977.html

相关文章:

  • 游戏发布网网站建设深圳网站建设外包公司排名
  • 天津网站建设是什么流量卡代理平台有哪些
  • 南宁手机平台网站建设wordpress安装windows
  • 老站改版与新建网站郑州企业网站托管公司
  • 网站开发综合实训女儿考试没圈关键词
  • 智慧旅游网站开发与设计中国建设银行官网首页 网站首页
  • 网站开发成本核算及账务处理爱企业查询
  • 建设网站要钱么做网站付钱方式
  • 我做的网站不知道网站怎么办大学生个人网页设计代码
  • 潍坊大型网站建设平台中国产品网企业名录
  • 域名查询网站入口深圳做app网站公司
  • 描述一下网站建设的基本流程图工厂办公室简单装修
  • 门户网站微信服务号建设怎样进行网站推广
  • 商业类网站吴江区建设局网站打不开
  • 有网页源码怎么做网站苏州建设网站找网络公司
  • 网站建设进度说明奥派网站建设
  • 百度做网站多少钱设计一个简单的广告
  • 唐山有制作网站的没优秀网站设计欣赏图片
  • 网站的资讯内容seo企业网络推广培训
  • 网站 版式制作网站哪家便宜
  • 一站式网站建设用途网站一键提交
  • 网站如何快速备案微信网站搭建教程
  • 西安做网站选哪家临淄关键词网站优化首选公司
  • 手机app开发网站模板长春生物新冠疫苗
  • 保险代理人做网站标书制作培训课程
  • 大作业做网站南宁网站忧化
  • 企业网站的功能列表dw软件怎么制作网页
  • 政法门户网站建设情况wordpress导航
  • asp网站搭建软件网站排名优化工具
  • 深圳手机端网站建设模板宁波市建设工程监理协会网站