2014-10-07 3 views
-2

слот не подключен называется У меня есть QPushButton с именем btnStart на мили ClassA.uiQt слот не подключен называется

и в заголовочном файле ClassA.h:

private slots: 
    void on_btnQuit_clicked(); 

и когда я нажал кнопка btnStart введите в слот on_btnQuit_clicked(), но я ничего не свяжу.

classA.h 
class classA : public QDialog 
{ 
    Q_OBJECT 
public: 
    classA(QWidget *parent = 0); 
    ~classA(); 
private: 
    Ui::classA* m_ui; 
private slots: 
    void on_btnStart_clicked(); 
}; 

classA.cpp

#include "ClassA.h" 
#include "ui_ClassA.h" 

ClassA::ClassA(QWidget *parent): 
    QDialog(parent), 
    m_ui(new Ui::classA) 
{ 
    m_ui->setupUi(this); 
} 

ClassA::~ClassA() 
{ 
    SWT_DENULL(m_ui); 
} 

void ClassA::on_btnStart_clicked() 
{ 
    //here 
} 

classA.ui

<?xml version="1.0" encoding="UTF-8"?> 
<ui version="4.0"> 
<class>classA</class> 
<widget class="QDialog" name="classA"> 
    <property name="geometry"> 
    <rect> 
    <x>0</x> 
    <y>0</y> 
    <width>667</width> 
    <height>433</height> 
    </rect> 
    </property> 
    <property name="windowTitle"> 
    <string>title</string> 
    </property> 
    <layout class="QVBoxLayout" name="verticalLayout"> 
    <item> 
    <layout class="QHBoxLayout" name="horizontalLayout_2"> 
    <item> 
     <widget class="QPushButton" name="btnStart"> 
     <property name="text"> 
     <string>Start title</string> 
     </property> 
     </widget> 
    </item> 
    </layout> 
    </item> 
    </layout> 
</widget> 
<layoutdefault spacing="6" margin="11"/> 
<resources/> 
<connections/> 
</ui> 
+0

Предоставьте код! – Claudio

+2

Возможно, вы подключили его в свой QML-файл. – Zeta

ответ

4

Qt имеет автоматического подключения особенность, которая соединяет слоты с именами, как это: on_UIELEMENTNAME_SIGNALNAME(SIGNAL_PARAMS) с соответствующим сигналом, см doc here