[gelöst]ui einbinen Pfad Fehlermeldung HILFE :)

Alles rund um die Programmierung mit Qt
Antworten
ReasyEasyPeasy
Beiträge: 18
Registriert: 10. Juli 2015 15:47

[gelöst]ui einbinen Pfad Fehlermeldung HILFE :)

Beitrag von ReasyEasyPeasy »

Moin,
ich habe ein kleines Projekt in Qt. Ich habe bisher nie den Designer benutzt und wollte dies nun tun. Allerdings schaffe ich es nicht ein Widget in ein QStackedWidget zu packen. Folgende Fehlermeldung kommt:
mainwindow.obj:-1: Fehler: LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __cdecl Form::Form(class QWidget *)" (??0Form@@QEAA@PEAVQWidget@@@Z)" in Funktion ""public: __cdecl MainWindow::MainWindow(class QWidget *)" (??0MainWindow@@QEAA@PEAVQWidget@@@Z)".
Ich habe die header-Dateien in einen "header" ordner gepackt und die cpp-Dateien in einen "source" Ordner. Die ui-Datei habe ich in einen "ui" Ordner gepackt.

MainWindow.h

Code: Alles auswählen

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QStackedWidget>
#include <QSplitter>
#include "mainmenu.h"
#include "tablewidget.h"
#include "form.h" //<------ die Header von dem designwidget
class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();
private:
    form *w;
    TableWidget *table;
    MainMenu *MainMenuLeft;
    QStackedWidget *MainWidget;
    QSplitter *MainSplitter;
public slots:
    void setMainWidget(int id);

};
MainWindow.cpp

Code: Alles auswählen

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    MainWidget = new QStackedWidget;
    MainSplitter = new QSplitter;
    MainMenuLeft = new MainMenu;
    MainSplitter->addWidget(MainMenuLeft);
    MainSplitter->addWidget(MainWidget);


    table = new TableWidget;
    w = new Form;
    MainWidget->addWidget(table);
    MainWidget->addWidget(w);

    setCentralWidget(MainSplitter);

}

MainWindow::~MainWindow()
{

}
form.h

Code: Alles auswählen

#ifndef FORM_H
#define FORM_H

#include <QWidget>
#include <QTableWidget>

namespace Ui {
class Form;
}

class Form : public QWid[code]
get
{
Q_OBJECT

public:

explicit Form(QWidget *parent = 0);
~Form();

private:
Ui::Form *ui;
};
#endif // FORM_H[/code]
form.cpp

Code: Alles auswählen

#include "../header/form.h"
#include "ui_form.h"//<---- Wo ist diese Datei? Er gibt mir aber keine Fehlermeldung
Form::Form(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Form)
{
    ui->setupUi(this);
}

Form::~Form()
{
    delete ui;
}
Also ich möchte einfach das erstellte Widget ("form") in das QStackeWidget packen. Ich bekomme es um das verrecken nicht hin und würde mich sehr über Hilfe freuen.
Liebe Grüße:)
Zuletzt geändert von ReasyEasyPeasy am 30. Juli 2015 19:41, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: ui einbinen Pfad Fehlermeldung HILFE :)

Beitrag von Christian81 »

Und wird die form.cpp auch kompiliert?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
ReasyEasyPeasy
Beiträge: 18
Registriert: 10. Juli 2015 15:47

Re: ui einbinen Pfad Fehlermeldung HILFE :)

Beitrag von ReasyEasyPeasy »

ok,
woran seh ich das? Bzw. was brauchst du für Infos um das sehen zu können? :)
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: ui einbinen Pfad Fehlermeldung HILFE :)

Beitrag von Christian81 »

Da ich nicht weiß welche IDE du verwendest gehe ich ich von qtcreator aus. Dieser erzeugt aus den Projekt-Dateien (*.pro) mittels qmake die Makefiles. Wenn in der Projektdatei form.cpp nicht in den Sourcen aufgelistet ist, wird sie auch nicht kompiliert.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
ReasyEasyPeasy
Beiträge: 18
Registriert: 10. Juli 2015 15:47

Re: ui einbinen Pfad Fehlermeldung HILFE :)

Beitrag von ReasyEasyPeasy »

Ahh ja ok
Arbeit.pro

Code: Alles auswählen

#-------------------------------------------------
#
# Project created by QtCreator 2015-07-26T14:57:35
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = Arbeit
TEMPLATE = app


SOURCES += source/main.cpp \
    source/mainwindow.cpp \
    source/mainmenu.cpp \
    source/idbutton.cpp \
    source/symbolbutton.cpp \
    source/tablewidget.cpp \
    source/form.cpp


HEADERS  += header/mainwindow.h \
    header/mainmenu.h \
    header/idbutton.h \
    header/symbolbutton.h \
    header/tablewidget.h \
    header/form.h

DISTFILES += \
    bilder/icon3.jpg \
    bilder/icon1.png \
    bilder/icon2.png \
    bilder/icon4.png \
    bilder/icon0.png \
    bilder/icon6.png

FORMS += ui\form.ui
Da habe ich es drin.
mainwindow.cpp

Code: Alles auswählen

#include "../header/mainwindow.h"//Hier gibt er mir die Fehlermeldung "Verzeichnis/form.h:Es existiert keine Datei oder Verzeichnis mit diesem Namen
#include <QMessageBox>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    MainWidget = new QStackedWidget;
    MainSplitter = new QSplitter;
    MainMenuLeft = new MainMenu;
    MainSplitter->addWidget(MainMenuLeft);
    MainSplitter->addWidget(MainWidget);
    table = new TableWidget;
    w = new Form;
    MainWidget->addWidget(table);
    MainWidget->addWidget(w);
    setCentralWidget(MainSplitter);

}

MainWindow::~MainWindow()
{

Zuletzt geändert von ReasyEasyPeasy am 30. Juli 2015 19:13, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: ui einbinen Pfad Fehlermeldung HILFE :)

Beitrag von Christian81 »

Dann nochmal neu generieren lassen bzw. alle build-Dateien löschen lassen und dann neu kompilieren.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
ReasyEasyPeasy
Beiträge: 18
Registriert: 10. Juli 2015 15:47

Re: ui einbinen Pfad Fehlermeldung HILFE :)

Beitrag von ReasyEasyPeasy »

ok es funktoniert... . Woran liegt das? Damit ich nicht nochmal so eine Fehler bekomme?
Vielen Dank
Antworten