Alles rund um die Programmierung mit Qt
pospiech
Beiträge: 232 Registriert: 1. September 2006 17:20
Wohnort: Hannover
Beitrag
von pospiech » 16. September 2007 20:00
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 » 16. September 2007 22:33
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 » 16. September 2007 23:28
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
pospiech
Beiträge: 232 Registriert: 1. September 2006 17:20
Wohnort: Hannover
Beitrag
von pospiech » 16. September 2007 23:37
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