2013-01-07 3 views
2

Qt 프로젝트에서 새 창/대화 상자 양식을 열 수 없습니다.Qt 두 번째 창 열기

Open 함수 :

void MainWindow::on_btDodajProdukt_clicked() 
{ 
    newDialog = new DodajProdukt(this); 
    newDialog->show(); 

} 

MainWindow를 포함 :

#include "dodajprodukt.h" 

MainWindow.h

DodajProdukt *newDialog; 

클래스 DodajProdukt는 desinger 첨가 새로운 윈도우이다.

는이 오류를 얻을 :

mainwindow.obj:-1: błąd:LNK2019: unresolved external symbol "public: __thiscall DodajProdukt::DodajProdukt(class QWidget *)" ([email protected]@[email protected]@@@Z) referenced in function "private: void __thiscall MainWindow::on_btDodajProdukt_clicked(void)" ([email protected]@@AAEXXZ)

편집 :

dodajprodukt.cpp

#include "dodajprodukt.h" 
#include "ui_dodajprodukt.h" 


DodajProdukt::DodajProdukt(QWidget *parent) : 
    QDialog(parent), 
    ui(new Ui::DodajProdukt) 
{ 
    ui->setupUi(this); 
} 

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

프로 파일 :

QT  += core gui 

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 

TARGET = Hurtownia 
TEMPLATE = app 


SOURCES += main.cpp\ 
     mainwindow.cpp \ 
    dodajprodukt.cpp \ 
    listaproduktow.cpp 

HEADERS += mainwindow.h \ 
    dodajprodukt.h \ 
    listaproduktow.h 

FORMS += mainwindow.ui \ 
    dodajprodukt.ui \ 
    listaproduktow.ui 
+0

내 생각 엔 디자이너이다 또한 프로젝트와 링크하지 않는 윈도우 구현물을 가진'dodajprodukt.cpp' 파일을 생성해야합니다. – Kos

+0

@kos 프로젝트에 내 프로젝트를 연결하는 방법? –

답변

1

I을 같은 오류가 발생했습니다. 새 프로젝트를 만들고 코드를 복사하십시오. 그런 다음이 메서드가 작동하는지 확인하기위한 간단한 예제 코드를 만듭니다.

+0

버그가 있고 좋은 명령 행으로 가면'IDE '를 전혀 사용하지 마십시오. – user1095108

1

당신은 DodajProdukt 관련된 모든 파일을 추가해야합니다 .pro f에 디자이너에서 만든 .ui 파일의 경우

: ILE (qmake를를 사용하는 경우)

FORMS += dodajprodukt.ui # assuming that's how it's called 

그리고 당신은 분명히 그것을 또한 .H/.CPP 파일이 :

HEADERS += dodajprodukt.h 
SOURCES += dodajprodukt.cpp 
+0

이미 inserert입니다. 여전히 작동하지 않습니다. –

+1

.cpp에 DodajProdukt :: DodajProdukt (QWidget *)을 구현 했습니까? –

+0

.pro 파일을 추가 할 수 있습니까? –

0

동일한 문제가 있습니다.

내가 다음 .pro.user 파일을 삭제하고 삭제 프로젝트 빌드 폴더를

2

오른쪽 클릭을 프로젝트 후에 그것을 해결 : 청소, qmake를 실행하고 나를 위해 그것을 고정 재 구축