Qt Designer,在上下文菜单中缺少“转到槽”?

5
我一直在看一个关于Qt的YouTube教程系列,作者展示了如何在按下按钮时调用函数。他右键单击Qt Creator IDE中的按钮,选择“转到槽”,然后选择将触发生成函数的信号。由于我习惯使用Netbeans进行开发,我尝试使用嵌入式的Qt Designer来跟随他的例子。不幸的是,在我的按钮或任何小部件上右键单击时没有“转到槽…”选项。当然,我可以为我的主窗口创建一个新的槽,然后将按钮的信号连接到它上面,但对我来说,仅使用一个函数来完成这个操作似乎更加方便和清晰。是否有解决方法?如果没有,是否有完全通过代码实现的方法,而无需为每个服务于不同目的的按钮添加新的槽到主窗口中?谢谢你的帮助。
1个回答

9
虽然我不知道Netbeans中的QtDesigner为什么没有提供这个功能,但我知道这个功能是做什么用的:它只是在您的小部件类中创建一个具有特殊名称的槽。请注意,它不会添加连接语句。它使用自动连接功能,其工作原理如下:
对于每个名称与此模式匹配的插槽: void on_X_Y(...) 它将被连接到名为Y的对象X的信号。因此,如果您有一个名为button的QPushButton,并且您想处理信号pressed,只需创建具有以下签名的插槽: void on_button_pressed() 如果您想知道此插槽如何连接到信号:这发生在setupUi()ui_...h文件的末尾:
    QMetaObject::connectSlotsByName(WidgetName);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接