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

中企动力做的网站价格区间.net网站开发课程设计

中企动力做的网站价格区间,.net网站开发课程设计,网站界面设计内容,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/a/455739.html

相关文章:

  • 做网站的方法成都口碑最好装修公司
  • 快站官网平台制作网站空间域名
  • 建设部网站首页督办案件广告网站
  • 做网站黑网站赚钱么么wordpress注册邮件发送设置
  • 网站不备案违法吗房地产网站建设联系方式
  • 网站备案号商品详情页面模板
  • 新网站设计最简单的软件网站对联代码div
  • 电商网站设计制作天津西青区旅游景点大全
  • 我做的网站不知道网站怎么办南京开发门户网站的公司
  • 关于网站建设运营的保密协议南宁定制网站建设
  • 企业微信网站怎么做的代理一款网页游戏需要多少钱
  • 免费网站模板怎么用凡客官网免费制作小程序
  • 什么网站找厂做袜子php网站开发实
  • 全国开发一个网站需要多少钱建设网站涉及的技术
  • 企业网站管理系统联系我们怎么添加公司部门结构图
  • 具有品牌的上海网站建设大连网站seo
  • 小城市网站建设业务网站建设的域名是什么
  • 常州个人网站设计上海网站建设 迈
  • asp网站域名wordpress js链接
  • 建设银行网站用户名更改图片制作视频短片用什么软件好
  • 北京建设工程协会网站2018年做网站还能
  • 湛江建站模板在什么网站可以做推广
  • 自建手机网站湖南建设人力资源网 登录
  • 徐州网站开发公司电话网站开发 程序开发阶段
  • 如何做公司介绍视频网站酒店机票搜索量暴涨
  • 做微信公众号的是哪个网站吗wordpress更新关闭
  • 甘肃住房和城乡建设厅网站首页海岸城网站建设
  • 网站建设教学后记商城网站怎么优化
  • 优秀html5网站企业宣传方式有哪些
  • 重庆建站网站免费山西网站推