[gelöst] Einbinden von Dialogen in Programmcode
[gelöst] Einbinden von Dialogen in Programmcode
Hallo,
ich habe mit Qt Designer einen Dialog erstellt und möchte ihn nun mit Leben füllen bzw. danach in mein Programm einbinden. Ich habe mit Hilfe der Einzelvererbungsmethode eine eigene Unterklasse erstellt, die den Dialogunterbau enthalten soll. Beim Kompelieren erhalte ich jedoch ständig folgende Fehlermeldung:
In file included from MDiApplication\cameraeditor.cpp
using-declaration for non-member at class scope
expected ' befor "ui"
Der Code meiner Header-Datei sieht folgender Maßen aus:
#ifndef CAMERAEDITOR_H
#define CAMERAEDITOR_H
#include "ui_cameraeditor.h"
class QStringList;
class CameraEditorDialog : public QDialog
{
Q_OBJECT
public:
CameraEditorDialog();
~CameraEditorDialog() {};
private slots:
void on_AddButton_clicked();
void on_EditButton_clicked();
private:
Ui::CameraEditorDialog ui; --> der fehler scheint in dieser Zeile zu liegen ?
QStringList *stringList;
}:
#endif
Meine Cpp-Datei:
#include <QtGui>
#include "cameraeditor.h"
CameraEditorDialog::CameraEditorDialog()
{
ui.setupUi(this);
stringList = new QStringList(this);
...
}
Kann mir jemand sagen, wo der Fehler liegen könnte?
Danke!
Gruß
Thomas
ich habe mit Qt Designer einen Dialog erstellt und möchte ihn nun mit Leben füllen bzw. danach in mein Programm einbinden. Ich habe mit Hilfe der Einzelvererbungsmethode eine eigene Unterklasse erstellt, die den Dialogunterbau enthalten soll. Beim Kompelieren erhalte ich jedoch ständig folgende Fehlermeldung:
In file included from MDiApplication\cameraeditor.cpp
using-declaration for non-member at class scope
expected ' befor "ui"
Der Code meiner Header-Datei sieht folgender Maßen aus:
#ifndef CAMERAEDITOR_H
#define CAMERAEDITOR_H
#include "ui_cameraeditor.h"
class QStringList;
class CameraEditorDialog : public QDialog
{
Q_OBJECT
public:
CameraEditorDialog();
~CameraEditorDialog() {};
private slots:
void on_AddButton_clicked();
void on_EditButton_clicked();
private:
Ui::CameraEditorDialog ui; --> der fehler scheint in dieser Zeile zu liegen ?
QStringList *stringList;
}:
#endif
Meine Cpp-Datei:
#include <QtGui>
#include "cameraeditor.h"
CameraEditorDialog::CameraEditorDialog()
{
ui.setupUi(this);
stringList = new QStringList(this);
...
}
Kann mir jemand sagen, wo der Fehler liegen könnte?
Danke!
Gruß
Thomas
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
Hallo,
ich verwende MinGw GCC. Die Sache mit dem "befor" war ein Schreibfehler von mir. Richig heist es natürlich "before". Der Fehler liegt irgendwie in dieser Zeile: Ui::CameraEditorDialog ui;
Ich habe die *.ui Datei in meiner Projektdatei eingetragen und auch qmake darüber laufen lassen. Dieses Probem ist bei mir schon bei anderen mit Qt Designer erstellten Dialogen aufgetreten, ohne dass ich eine Lösung gefunden habe.
Gruß
Thomas
ich verwende MinGw GCC. Die Sache mit dem "befor" war ein Schreibfehler von mir. Richig heist es natürlich "before". Der Fehler liegt irgendwie in dieser Zeile: Ui::CameraEditorDialog ui;
Ich habe die *.ui Datei in meiner Projektdatei eingetragen und auch qmake darüber laufen lassen. Dieses Probem ist bei mir schon bei anderen mit Qt Designer erstellten Dialogen aufgetreten, ohne dass ich eine Lösung gefunden habe.
Gruß
Thomas
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Hallo,
ich habe die Dateien angehängt. Sie stammen von einem ähnlichen Beispiel, bei dem ich das gleiche Problem (identische Fehlermeldung) habe.
Als Anmerkung: ich habe die ui-Datei manuell mit uic bearbeitet, da ich mit qmake keine ui_xxx.h-Datei erhalten habe (auch wenn die ui-Datei in der Projektdatei unter FORMS eingetragen war.
Im Anschluß habe ich noch einmal qmake -project und qmake xxx.pro durchlaufen lassen bevor ich es mit make bzw. in Dev C++ kompeliert habe.
Danke!
Thomas
ich habe die Dateien angehängt. Sie stammen von einem ähnlichen Beispiel, bei dem ich das gleiche Problem (identische Fehlermeldung) habe.
Als Anmerkung: ich habe die ui-Datei manuell mit uic bearbeitet, da ich mit qmake keine ui_xxx.h-Datei erhalten habe (auch wenn die ui-Datei in der Projektdatei unter FORMS eingetragen war.
Im Anschluß habe ich noch einmal qmake -project und qmake xxx.pro durchlaufen lassen bevor ich es mit make bzw. in Dev C++ kompeliert habe.
Danke!
Thomas
- Dateianhänge
-
- Test.rar
- (7.79 KiB) 157-mal heruntergeladen
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Ganz schön ungesund, was du da getan hast.
Die Klasse aus dem GUI heißt cameraForm nicht, CameraForm wie du es definiert hast. Das ist der ganze Fehler.
Allerdings solltest du einige Dinge ändern:
Die UI Datei in z.B. cameraformwidget.ui umbenennen und als generierte Datei ui_cameraformwidget.h einbinden, dann sollte qmake die automatisch generieren. Und ebenfalls den Klassennamen natürlich dann auch in CameraFormWidget o.ä. ändern.
Viel Erfolg.
Die Klasse aus dem GUI heißt cameraForm nicht, CameraForm wie du es definiert hast. Das ist der ganze Fehler.
Allerdings solltest du einige Dinge ändern:
Die UI Datei in z.B. cameraformwidget.ui umbenennen und als generierte Datei ui_cameraformwidget.h einbinden, dann sollte qmake die automatisch generieren. Und ebenfalls den Klassennamen natürlich dann auch in CameraFormWidget o.ä. ändern.
Viel Erfolg.