Qt 信号和槽小问题
在编辑信号和槽时(在UI界面),比如信号是clicked(),要连接的槽是accept(),但在编辑信号和槽的对话框里没有accept(),可以手动添加accept()吗?
[解决办法]
写代码多方便
[解决办法]
不可以
但像下面这样也很方便:
在按钮控件上点右键,在弹出菜单中选择“转到槽...”,在弹出的对话框中选择clicked()信号,单击确定。此时将自动切换到代码编辑器里,你可以看到Qt Creator已经在.h和.cpp里为你定义好了on_pushButton_clicked这个槽。可以在那里调用accept,当然,也可以把accept的代码写在那里面。
不过,就像楼上所说,写代码连接也很方便……
[解决办法]
如果你知道下面4点,跳到后面。。。。
1、信号和槽可以自己定义。。。怎么定义在白皮书中有说
2、每个插件都提供了一些常用的信号和槽
3、信号只要定义不要写函数内容
4、槽可以使用默认的槽也可以使用自己定义的槽
知道上面4点后说怎么链接槽
如果:该插件提供了accept()槽
方法1、
可以使用connect(widget*,SIGNAL(),widget*,SLOT())来链接槽
方法2、
使用ui编译器中自带的链接槽的功能,画线就可以了
否则:设置自定义的槽
方法1、
step1、在窗口的.h和.cpp文件中分别添加自定义的槽。
step2、使用connect(widget*,SIGNAL(),widget*,SLOT())来链接槽
方法2、
如果不使用这种方法,也可以使用2楼介绍的方法。