Dialog kompiliert nicht

Alles rund um die Programmierung mit Qt
Antworten
pospiech
Beiträge: 232
Registriert: 1. September 2006 17:20
Wohnort: Hannover

Dialog kompiliert nicht

Beitrag von pospiech »

Der Quellcode ist äußerst simpel

Code: Alles auswählen

#ifndef DIALOGSHAPEROUTPUT_H_
#define DIALOGSHAPEROUTPUT_H_

#include "./Ui_DialogShaperOutput.h"

class DialogShaperOutput : public QDialog, protected Ui_DialogShaperOutput
{
	Q_OBJECT
public:
	DialogShaperOutput(QWidget* parent = 0, Qt::WFlags flags = 0);
	virtual ~DialogShaperOutput();

};
#endif

Code: Alles auswählen

#include "DialogShaperOutput.h"

DialogShaperOutput::DialogShaperOutput(QWidget* parent /*= 0*/, Qt::WFlags flags /*= 0*/) : QDialog(parent, flags)
{
	setupUi(this);
}
Das liefert mir jedoch den Fehler:
1>Moc'ing DialogShaperOutput
1>Kompilieren...
1>moc_DialogShaperOutput.cpp
1>c:\programme\qt4\include\qtcore\../../src/corelib/arch/qatomic_windows.h(173) : warning C4193: #pragma-Warnung (pop): Keine dazugehörige '#pragma-Warnung (push)'
1>z:\cpp\qt\qbeamshaping\qbeamshaping\DialogShaperOutput.h(7) : error C2504: 'Ui_DialogShaperOutput': Basisklasse undefiniert
1>.\moc_DialogShaperOutput.cpp(52) : error C2061: Syntaxfehler: Bezeichner 'Ui_DialogShaperOutput'
1>DialogShaperOutput.cpp
1>c:\programme\qt4\include\qtcore\../../src/corelib/arch/qatomic_windows.h(173) : warning C4193: #pragma-Warnung (pop): Keine dazugehörige '#pragma-Warnung (push)'
1>z:\cpp\qt\qbeamshaping\qbeamshaping\DialogShaperOutput.h(7) : error C2504: 'Ui_DialogShaperOutput': Basisklasse undefiniert
1>.\DialogShaperOutput.cpp(6) : error C3861: "setupUi": Bezeichner wurde nicht gefunden.
den ich nicht nachvollziehen kann.

Matthias
CaptnChaos
Beiträge: 605
Registriert: 28. Juni 2007 15:01
Kontaktdaten:

Beitrag von CaptnChaos »

Versuchs mit

Code: Alles auswählen

class DialogShaperOutput : public QDialog, public Ui::Ui_DialogShaperOutput 
pospiech
Beiträge: 232
Registriert: 1. September 2006 17:20
Wohnort: Hannover

Beitrag von pospiech »

Ich habe es geändert zu

Code: Alles auswählen

class DialogShaperOutput : public QDialog, protected Ui::Ui_DialogShaperOutput
das bringt mir aber nur denselben Fehler
1>z:\cpp\qt\qbeamshaping\qbeamshaping\DialogShaperOutput.h(7) : error C2039: 'Ui_DialogShaperOutput': Ist kein Element von 'Ui'
1>z:\cpp\qt\qbeamshaping\qbeamshaping\DialogShaperOutput.h(7) : error C2504: 'Ui_DialogShaperOutput': Basisklasse undefiniert
1>.\moc_DialogShaperOutput.cpp(52) : error C2039: 'Ui_DialogShaperOutput': Ist kein Element von 'Ui'
1>.\moc_DialogShaperOutput.cpp(52) : error C2061: Syntaxfehler: Bezeichner 'Ui_DialogShaperOutput'
Andere Dialoge funktionieren auch, obwohl sie genauso aufgebaut sind, z.B.

Code: Alles auswählen

class BeamViewDialog : public QDialog, protected Ui_BeamViewDialog
Die UI Datei sieht übrigens so aus

Code: Alles auswählen

/********************************************************************************
** Form generated from reading ui file 'DialogShaperOutput.ui'
**
** Created: Sun 16. Sep 23:25:54 2007
**      by: Qt User Interface Compiler version 4.3.0
**
** WARNING! All changes made in this file will be lost when recompiling ui file!
********************************************************************************/

#ifndef UI_DIALOGSHAPEROUTPUT_H
#define UI_DIALOGSHAPEROUTPUT_H

#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QDialog>
#include <QtGui/QFrame>

class Ui_Complex_
{
public:
    QFrame *ComplexView_Output;

    void setupUi(QDialog *Complex_)
    {
    if (Complex_->objectName().isEmpty())
        Complex_->setObjectName(QString::fromUtf8("Complex_"));
    QSize size(400, 300);
    size = size.expandedTo(Complex_->minimumSizeHint());
    Complex_->resize(size);
    ComplexView_Output = new QFrame(Complex_);
    ComplexView_Output->setObjectName(QString::fromUtf8("ComplexView_Output"));
    ComplexView_Output->setGeometry(QRect(40, 30, 241, 201));
    ComplexView_Output->setFrameShape(QFrame::StyledPanel);
    ComplexView_Output->setFrameShadow(QFrame::Raised);

    retranslateUi(Complex_);

    QMetaObject::connectSlotsByName(Complex_);
    } // setupUi

    void retranslateUi(QDialog *Complex_)
    {
    Complex_->setWindowTitle(QApplication::translate("Complex_", "Dialog", 0, QApplication::UnicodeUTF8));
    Q_UNUSED(Complex_);
    } // retranslateUi

};

namespace Ui {
    class Complex_: public Ui_Complex_ {};
} // namespace Ui

#endif // UI_DIALOGSHAPEROUTPUT_H

Matthias
CaptnChaos
Beiträge: 605
Registriert: 28. Juni 2007 15:01
Kontaktdaten:

Beitrag von CaptnChaos »

ich korrigiere:

Code: Alles auswählen

class DialogShaperOutput : public QDialog, public Ui::Complex_
pospiech
Beiträge: 232
Registriert: 1. September 2006 17:20
Wohnort: Hannover

Beitrag von pospiech »

KernelPanic hat geschrieben:ich korrigiere:

Code: Alles auswählen

class DialogShaperOutput : public QDialog, public Ui::Complex_
Da habe ich wohl im Designer aus versehen irgentwann den Text überschrieben, naja eine komplette Neuerstellung des Dialogs hat den Fehler auch behoben...

Matthias
Antworten