[QT4 + Dev C++] Einbinden von .UI Dateien ins Projekt



  • Hi leutz,

    seit kurzem beschäftige ich mich mit Qt4 undwollte jetzt mit dem UI Designer ein mainwindow (Name ist mainwindow) erstellt.
    Ich hab die .UI Datei in den Projektordner getan und der Name des Fensters in der .pro Datei bei FORMS eingetragen.
    Also:

    FORMS += mainwindow.UI
    

    Ich habe auch den Header ("mainwindow.h") eingetragen in der ich das Fenster verwende:

    HEADERS += mainwindow.h
    

    Der Header mainwindow.h sieht so aus:

    #ifndef HPP_MAINWINDOW
    #define HPP_MAINWINDOW
    
    #include <QMainWindow>
    #include "ui_mainwindow.h"
    
    class MainWindow : public  QMainWindow, private Ui::mainwindow
    {
          Q_OBJECT
          public:
                 MainWindow (QWidget *parent = 0);
                 ~MainWindow(                   );
    
    };
    
    MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    {
            setupUi(this) ;             
    }
    
    #endif
    

    Allerdings wird der Header "ui_mainwindow.h" nicht gefunden.
    In meinem Buch stand jedoch drin dass der Header beim kompilieren generiert wird und immer den Namen "ui_individuellername.h" hat.
    Weiß jemand eine Lösung für das Problem?
    Bin für jede Hilfe sehr dankbar

    Supercoder007



  • Poste doch mal den kompletten Fehlercode.
    Könnte sein das du ein Problem mit uic, bzw. dem Pfad zu uic hast. Google mal nach
    "qmake backslash problem".
    Das gilt allerdings nur wenn du Windows benutzt. Du kannst alternativ dazu deine .h und .cpp Dateien auch manuell erstellen, in etwa so:

    uic mainWindow.h mainWindow.ui
    uic mainWindow.cpp mainWindow.ui

    Danach mit qmake die Projektdatei erstellen und mit make das Programm erzeugen lassen. Fertisch. 👍



  • falls dein system case-sensitive ist (linux bspw) musst du nach der Endung deiner ui schauen. du gibt qmake eine .UI (gross), die UIs die ich per designer erzeuge sind alle mit einem kleinen .ui am Ende.



  • Hey,

    ty schonmal für die Hilfe. Ich hatte leider erst heute wieder die Zeit mich mit dem Problem zu befassen.
    Der genaue Fehlercode von Dev C++ ist:

    In file included from main.cpp:4:
    mainwindow.h:5:27: ui_mainwindow.h: No such file or directory
    In file included from main.cpp:4:
    mainwindow.h:7: error: `Ui' has not been declared
    

    Ich hab mal probiert mit dem UIC manuell zu kompilieren. Also:
    uic -o mainwindow.ui
    dann hat er angefangen zu arbeiten meine UI Datei zerstört und nach ner viertelstunde war er immer noch nicht fertig und ich hab abgebrochen.
    Weiß jemand woran das liegt?
    danke schon mal im voraus
    Supercoder007



  • Supercoder007 schrieb:

    Ich hab mal probiert mit dem UIC manuell zu kompilieren. Also:
    uic -o mainwindow.ui
    dann hat er angefangen zu arbeiten meine UI Datei zerstört und nach ner viertelstunde war er immer noch nicht fertig und ich hab abgebrochen.
    Weiß jemand woran das liegt?

    Supercoder007

    Grüße,

    Probier mal "uic -o mainwindow.h mainwindow.ui".
    Der Fehlercode ist an sich ja klar, da die benötigte Headerdatei fehlt. Warum deine ui-Datei zerstört wurde, geschweige denn warum er so lang braucht ist mir auch ein Rätsel 😕 . Bei mir dauert das je nach UI nur einige Sekunden 😉 .


Anmelden zum Antworten