Qt4中的信号和插槽

时间:2015-01-05 14:19:52

标签: c++ qt qt4 signals-slots qt4.7

我试图在Qt4中创建一个信号和插槽,而我对Qt来说相当新。根据我在Qt5中的理解,它只是自动创建的,而Qt4似乎并非如此。当用户点击UI的菜单栏中的选项时,我试图创建一个动作。=我看到屏幕底部有一个信号/插槽编辑器,带有选项&# 34; Sender"," Signal"," Receiver"和" Slot"。我不完全确定如何使用此功能。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:2)

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

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

在这个链接中有关于信号和插槽的好例子:signals and slots in qt

答案 1 :(得分:0)

你好像被误解了。

Qt 5的不同之处在于它提供了新的语法来建立连接。

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

连接必须在代码中明确制作,或者使用UI编辑器制作,而后者可能会在某些情况下为您节省一些输入,一般来说,您最终制作的大部分连接都是明确的代码,所以你更好地学习如何操作,因为UI编辑器只能在一些极端情况下帮助您。我还没有真正使用UI编辑器进行连接,并且已经尝试了一两年,但我认为限制是你只能在UI元素和小部件的信号和插槽之间建立连接。

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