2013-04-06 2 views
0

Qt를 사용하여 기본 창 응용 프로그램을 생성하도록 Qt-Creator로 보냅니다. 거기에 버튼을 추가하고 그것을 슬롯에 연결하려고합니다. 그것은 잘 컴파일하지만 응용 프로그램이 충돌하고 3을 반환, 도와주세요, 어떻게 해야할지 모르겠다.신호를 슬롯에 연결하는 방법

#include "form1.h" 
#include "ui_form1.h" 
#include <iostream> 

Form1::Form1(QWidget *parent) : QMainWindow(parent), ui(new Ui::Form1) 
{ 
    connect(ui->buttonLoad,&QPushButton::clicked,this,&Form1::ButtonLoadClick); 
    ui->setupUi(this); 
} 

Form1::~Form1() 
{ 
    delete ui; 
} 

void Form1::ButtonLoadClick(){ 
    using namespace std; 
    cout << "click!" << endl; 
} 

헤더에 하나의 공용 슬롯 만 추가했습니다.

#ifndef FORM1_H 
#define FORM1_H 

#include <QMainWindow> 

namespace Ui { 
class Form1; 
} 

class Form1 : public QMainWindow 
{ 
    Q_OBJECT 

public: 
    explicit Form1(QWidget *parent = 0); 
    ~Form1(); 

public slots:      //here 
    void ButtonLoadClick();   //here 

private: 
    Ui::Form1 *ui; 
}; 

#endif // FORM1_H 
+0

어떤 Qt 버전을 사용하고 있습니까? – Amartel

+0

이 버전을 설치했습니다 : Windows 32 비트 용 Qt 5.0.1 (MinGW 4.7, 823 MB) –

답변

0

보십시오

Form1::Form1(QWidget *parent) : QMainWindow(parent), ui(new Ui::Form1) 
{ 
    ui->setupUi(this); 
    connect(ui->buttonLoad,&QPushButton::clicked,this,&Form1::ButtonLoadClick); 
} 

setupUi 푸시 버튼을 포함하여 모든 시각 요소를 생성한다.

+0

오우, 몰랐습니다! 고맙습니다. :-) –

관련 문제