标题:Qt小工具-信号生成槽
作者:boylebao
日期:2022-08-16 09:01
内容:
Qt的信号与槽特性大大提高了开发程序的效率,简单又简洁,对于初学者来说,难于使用connect函数,因为connect函数太多重载了,有的人只会使用一种connect函数,而对于高手来说,已经对connect函数写得厌倦了,写来写去都是那样,有没有一个软件可以生成相应的代码呢?鉴于我自身对Qt的理解及不够足的经验,带来一款可以根据信号函数转换为槽函数,connect函数,disconnect函数,emit语句等。
软件分三部分。
第一部分:信号输入框,复制你的信号定义函数,粘贴就可以了,支持多个信号,信号之间换行。
第二部分:操作区,可以根据功能按钮来生成相应代码,然后复制结果。这里又细分几个部分。
2.1 输入发送者及接收者信息,他们的类名,对象名。这里内置了Qt所有控件类的信号,如选择QPushButton,则会显示QPushButton所有支持的信号函数。
2.2 槽函数,可以生成槽函数定义及槽函数函数体。槽函数有两种实现方式,一种是:on_objectName_signal(),这种就是designer里转到槽生成的槽函数,这种我称为经典。另一种就是根据信号自定义实现的槽函数,这种我称为现代。
2.3 connect函数,分为经典、现代、省事,经典就是SIGNAL与SLOT搭配,这种需要输入信号槽的参数类型,比较麻烦。现代就是元方法,不用输入参数类型。省事就是利用Lambda来实现,省去定义槽函数,直接在connect函数里实现槽函数。
2.4 disconnect函数,跟connect函数相同。
2.5 其他,生成emit语句,复制结果按钮。
第三部分:结果显示区,显示结果代码。
#1 [shawking 08-16 12:45]
灰常不错!
#2 [往事纯白 08-16 14:01]
我觉得这样更麻烦啊,而且第五张图的转换结果是错的,那个匿名函数
#3 回 shawking 的帖子 [boylebao 08-16 14:11]
shawking:灰常不错! (2022-08-16 12:45)
#4 回 往事纯白 的帖子 [boylebao 08-16 14:13]
往事纯白:我觉得这样更麻烦啊,而且第五张图的转换结果是错的,那个匿名函数 (2022-08-16 14:01)
非常感谢指正,已经修复了,不麻烦啊,如果你有多条信号需要connect,复制到软件转换一下就好了
#5 回 boylebao 的帖子 [往事纯白 08-16 15:39]
boylebao:非常感谢指正,已经修复了,不麻烦啊,如果你有多条信号需要connect,复制到软件转换一下就好了 (2022-08-16 14:13)