[gelöst] Starthilfe Qt4

Verschiedenes zu Qt
Antworten
Sphinx
Beiträge: 7
Registriert: 6. April 2006 15:14

[gelöst] Starthilfe Qt4

Beitrag von Sphinx »

Hallo Forum

Ich versuche gerade, mich in Qt4 einzuarbeiten, und ich bekomme es einfach nicht hin, die Formulare, die ich mit dem Designer erstellt habe, vernünftig zu laden: Ich habe bei Trolltech dieses Tutorial http://doc.trolltech.com/4.0/designer-u ... onent.html gefunden, und haben den Quellcode für die main Methode 1:1 kopiert, einzige Änderung war der Namen des Formulars, weil ich das nicht ImageDialog genannt habe. Die qmake's funktionieren auch, die header werden erstellt, alles Bestens, nur kompilieren lässt sich das ganze nicht.

Die Zeile

ui.setupUi(window);

Produziert folgenden Fehler:

Fehler: keine passende Funktion für Aufruf von »Ui::Gui::setupUi(QDialog*&)«

Wenn ich diese Zeile auskommentiere, lässt sich das Programm compilieren und Starten, allerdings kommt nur ein leeres Fenster. Hat jemand eine Idee, was ich da falsch mache??

Danke
Sphinx
Zuletzt geändert von Sphinx am 7. April 2006 11:03, insgesamt 1-mal geändert.
michams
Beiträge: 56
Registriert: 14. November 2005 18:24

Beitrag von michams »

Wenn ich mich dunkel an meine Qt Anfänge erinnere, hat das bei mir so auch nicht funktioniert. Versuch mal das, was dort auf der Seite unter "The Multiple Inheritance Approach" steht, das ging dann.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Starthilfe Qt4

Beitrag von Christian81 »

Sphinx hat geschrieben: Fehler: keine passende Funktion für Aufruf von »Ui::Gui::setupUi(QDialog*&)«
Ich würde sagen Du solltest Dich mal mit Pointern und Referenzen befassen...
setupUI möchte einen Zeiger auf ein QMainWindow(wenn man sich die Definition von setupUI in ui_DeinUIName.h anschaut sieht man das auch) und nicht eine Referenz auf einen Zeiger auf einen QDialog.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Sphinx
Beiträge: 7
Registriert: 6. April 2006 15:14

Beitrag von Sphinx »

Ja, das sollte ich wohl tun... Ich gebe ja zu, das C++ und Qt Neuland für mich sind, bisher habe ich mit Java gearbeitet: Der Quellcode ist aber direkt aus dem Trollechs Tutorial kopiert, ich hätte nie geglaubt, das ich da viel falsch machen kann... (Einzige änderung: ImageDialog ist durch Gui ersetzt, weil ich im Designer einen anderen Namen vergeben habe.) Hier ist die Ctest.cpp

Code: Alles auswählen

#include "ui_gui.h"
#include <QtGui>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QDialog *window = new QDialog;
Ui::Gui ui;
ui.setupUi(window);//Ctest.cpp:9: Fehler: keine passende Funktion für Aufruf von »Ui::Gui::setupUi(QDialog*&)«
window->show();
return app.exec();
}
Was mach ich falsch??? Kann es sein, das ich im Designer vergessen habe irgendeine Signal/Slot Verbindung zu setzen, oder eine Eigenschaft richtig einzustellen (Den Objektname hab ich gesetzt ;-) Die header Datei "ui_gui.h" habe ich includiert, und sie wird auch erstellt: Muss ich da noch irgendwas hinzufügen?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Sphinx hat geschrieben: Was mach ich falsch???
Habe ich doch schon gesagt... Du übergibst ein QDialog aber setupUI erwartet ein QMainWindow.
Also entweder ein QMainWindow übergeben oder im Designer ein QDialog anstatt ein QMainWindow erstellen (So wie es im Tutorial auch beschrieben ist)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Sphinx
Beiträge: 7
Registriert: 6. April 2006 15:14

Beitrag von Sphinx »

Genau das war es!!! Vielen Dank!
Antworten