QT connectSlotsByName不用connent就会触发槽函数
工作中没有小事:点石成金,滴水成河,只有认真对待自己所做的一切事情,才能克服万难,取得成功。
转载:https://blog.csdn.net/hellokandy/article/details/105100563
在项目开发中,一点开发经验总结。
使用VS的QT助手生成测试工程的时候,在自动生成的ui_XXXXXX.h中,在setupUi函数的最后 QMetaObject::connectSlotsByName(XXXXX);有这样一句话,平时没怎么留意过,在此记录一下
查看帮助文档
大概意思是:
递归搜索给定对象的所有子对象,并将来自这些子对象的匹配信号连接到以下形式的对象插槽:
void on_<object name>_<signal name>(<signal parameters>);
假设有一个类型为QPushButton的对象,对象ObjectName为button1,捕捉按钮的clicked()信号的槽是:
void on_button1_clicked();
就可以不用写connect函数来连接信号和槽,自动会触发槽函数。
具体步骤:
1. QPushButton* pBtn =new QPushButton(); pBtn->setObjectName(QStringLiteral("button1")); 2.protected Q_SLOTS: void on_button1_clicked(); 3.QMetaObject::connectSlotsByName(QPushButton);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决