2015-01-05 55 views
-2

我试图在Qt4中创建一个信号和插槽,我对Qt相当陌生。从我在Qt5中所了解的情况来看,它只是自动创建的,而Qt4似乎并非如此。我试图创建一个动作,当用户点击UI的菜单栏中的一个选项时=我看到屏幕底部有一个Signal/Slot编辑器,其中带有“Sender”选项, “信号”,“接收器”和“插槽”。我不完全确定如何使用这个功能。任何帮助表示赞赏。Qt4中的信号和插槽

+3

您是否阅读过[Qt4中有关信号和插槽的文档?](http://qt-project.org/doc/qt-4.8/signalsandslots.html) – Bowdzone

回答

2

基本上你需要连接你的信号和插槽

connect(ui->button1, SIGNAL(clicked()), this, SLOT(yourSlot())); 

,并在这个环节有关于信号和插槽很好的例子:signals and slots in qt

0

您似乎误解了。

Qt 5的区别在于它提供了新的语法来建立连接。

当你没有指定连接类型(即直接,排队等)时,连接是“自动”的,默认是自动的,这会使Qt检查对象的线程所有权并选择适当的连接类型。

连接必须在代码中显式创建,或者使用UI编辑器创建,虽然后者可以为某些情况保存一些输入信息,但一般情况下,您最终创建的大多数连接在代码中都是明确的,所以你最好学习如何去做,因为UI编辑器只能在几个角落里帮助你。我没有真正使用UI编辑器进行连接,并且在几年前尝试过一两次,但我认为限制只能在UI元素和小部件的信号和插槽之间建立连接。

考虑到信号和插槽连接不仅仅是一个UI事物,它是Qt的一个核心原则,UI只是其众多用途之一。