【发布时间】:2015-07-05 07:58:33
【问题描述】:
我对@987654322@ 方法有疑问,以下这些调用均不起作用:
connect(tutorial->back, SIGNAL(clicked()), this, SLOT(exit_button_clicked()));
connect(tutorial->back, &QPushButton::clicked(), this, &MyMainWindow::exit_button_clicked());
第一个不调用exit_button_clicked(),第二个告诉我clicked() 必须是静态的(在Clion 中)并且不能编译。back 是QPushButton,tutorial 是自定义@ 987654329@上课。通过调用自定义函数(以供进一步使用)来实现此方法很重要。谁能告诉我实现这个的正确方法?
更新:
问题出在我的CMakeLists.txt 上,我在我的课程中添加了set(CMAKE_AUTOMOC ON) 和Q_Object 宏,现在它工作正常。
【问题讨论】:
-
您的
exit_button_clicked()是否在您的头文件中声明为插槽? -
"谁能告诉我正确的实现方法??" Qt 文档有大约数万亿个。
-
@Slyps 是的,我知道(我已经阅读了一百遍)但是第一种方法必须生成正确的答案,我认为它没有任何问题。我只是想不通为什么它不起作用
-
@kefir500 是的,这是我的实现:link
标签: c++ qt signals-slots