Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ QT创建者-“QT创建者”;“无匹配信号”;删除的元素_C++_Qt_User Interface - Fatal编程技术网

C++ QT创建者-“QT创建者”;“无匹配信号”;删除的元素

C++ QT创建者-“QT创建者”;“无匹配信号”;删除的元素,c++,qt,user-interface,C++,Qt,User Interface,我收到这些警告消息,但我删除了它警告我的对象。我不明白为什么它总是把这些信息提出来。此外,这导致了一个错误,我为按钮指定了一个信号,但它没有发挥作用(如果按下按钮,我甚至设置了一个调试日志消息) 在我的moc_mainwindow.cpp文件中,我注意到以下代码行: static const qt_meta_stringdata_MainWindow_t qt_meta_stringdata_MainWindow = { { QT_MOC_LITERAL(0, 0, 10), // &q

我收到这些警告消息,但我删除了它警告我的对象。我不明白为什么它总是把这些信息提出来。此外,这导致了一个错误,我为按钮指定了一个信号,但它没有发挥作用(如果按下按钮,我甚至设置了一个调试日志消息)

在我的moc_mainwindow.cpp文件中,我注意到以下代码行:

static const qt_meta_stringdata_MainWindow_t qt_meta_stringdata_MainWindow = {
{
    QT_MOC_LITERAL(0, 0, 10), // "MainWindow"
    QT_MOC_LITERAL(1, 11, 22), // "on_radioButton_clicked"
    QT_MOC_LITERAL(2, 34, 0), // ""
    QT_MOC_LITERAL(3, 35, 26), // "on_exitRadioButton_clicked"
    QT_MOC_LITERAL(4, 62, 21), // "on_pushButton_clicked"
    QT_MOC_LITERAL(5, 84, 18) // "on_exitBtn_clicked"

},
"MainWindow\0on_radioButton_clicked\0\0"
"on_exitRadioButton_clicked\0"
"on_pushButton_clicked\0on_exitBtn_clicked"
};
这可能与警告消息有关:

QMetaObject::connectSlotsByName:未为on_radioButton_clicked()提供匹配信号 QMetaObject::connectSlotsByName:单击的on_exitRadioButton()没有匹配信号 QMetaObject::connectSlotsByName:点击按钮时没有匹配信号()


非常感谢您的帮助:)

您需要删除构建文件夹(全部内容),然后重新构建项目。我建议用忍者切换到cmake——它不会有这样的问题

用户界面文件中有过时的信号/插槽连接,
.UI.h
头是调用
connectSlotsByName
的地方。因此,只需将整个源文件夹中的信号名称(Qt Creator中的Ctrl-Shift-F)归为灰色,包括所有文件类型,您可能会在
.ui
Xml文件的connections元素中找到这些名称。可以手动或使用内置在Qt Creator中的设计器从中删除它们


删除构建文件夹是一个起点-你不能承受任何旧的状态,而IDE中的“Clean”选项在我上次检查时并没有做到这一点。

所以在仔细研究之后,我发现了这个问题。它似乎没有删除位于“mainwindow.h”文件中的插槽。我需要删除这些:


再次运行应用程序后,它会删除“MOC_mainwindow.cpp”文件中未使用的“QT_MOC_LITERAL”(即已删除的UI元素)。

是否清理
->
运行qmake
->
重建
帮助?否,如果有,它追溯了一些进度这些插槽是否存在:
在radioButton上单击
在exitRadioButton上单击
在Button上单击
?在我四处挖掘后发现问题是什么意思?我告诉过你的。@scopchanov什么时候?此外,我只是查看文件并删除内容,查看错误。你知道……调试……你读过我的评论吗?@scopchanov我只是看了看,坦白说,这根本没用。这就像问我是否收到了我说的警告信息。我可能应该先说我是QT创建者的新手,所以我几乎不知道大部分东西都在哪里。不管怎么说,谢谢。虽然这就像问我是否收到了警告信息,我说不,但这是一个提示。