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

QT:信号映射器

背景:希望通过点击菜单对应的选项切换子窗口的焦点

属于是同一个信号与槽函数触发不同的结果

1.创建信号映射器

QSignalMapper *m_WndMapper;//信号映射器

2.信号映射器和槽函数连接初始化

 将第3步的自定义槽函数与mapped信号建立连接

m_WndMapper = new QSignalMapper(this);
connect(m_WndMapper,SIGNAL(mapped(QWidget*)),
        this,SLOT(setActivateSubWindow(QWidget*)));

3.创建子窗口切换的槽函数

void setActivateSubWindow(QWidget*);

 实现槽函数:使用qobject_cast对窗体进行转换,转成mdiarea的子窗体

void MainWindow::setActivateSubWindow(QWidget *wnd)
{
    if(!wnd)
    return;
    ui->mdiArea->setActiveSubWindow(qobject_cast<QMdiSubWindow*>(wnd));

}

4.添加子窗口函数中编写子窗口与菜单选项的map绑定的代码

connect(menuitem_act,SIGNAL(triggered(bool)),
                m_WndMapper,SLOT(map()));

m_WndMapper->setMapping(menuitem_act,wnds.at(i));


http://www.kler.cn/a/614136.html

相关文章:

  • 力扣上C语言编程题
  • PHP开发者2025生存指南
  • 【数据分享】2000—2024年我国乡镇的逐年归一化植被指数(NDVI)数据(年最大值/Shp/Excel格式)
  • 浙大:DeepSeek技术溯源及前沿探索
  • ORBITVU 欧保图,开启自动化摄影新时代
  • K-均值聚类算法:数据海洋中的分类灯塔
  • 标星 62.9 万,8 个 yyds 的 GitHub 开源项目 !
  • 对锁进行封装
  • LeetCode349两个数组的交集
  • 振弦采集读数仪 智能型 支持振弦、温度、电压、电流测量,无线传输 自动化操作 适用地质灾害与土木工程监测
  • HCIA-Access V2.5_15_1_ONU模板类型介绍
  • vscode_拼写关闭
  • Android OTA升级中SettingsProvider数据库升级的深度解析与完美解决方案
  • Google 停止开源 Android?
  • Docker 环境安装步骤
  • android音效算法集成框架(3)
  • 极速全场景 MPP数据库starrocks介绍
  • scss基础用法
  • 国内GitHub镜像源全解析:加速访问与替代方案指南
  • 【6】VS Code 新建上位机项目---项目分层