Anzeige:
Ergebnis 1 bis 5 von 5

Thema: 2ten Dialog mit Button öffnen (Qt)

  1. #1
    Registrierter Benutzer
    Registriert seit
    15.09.2005
    Beiträge
    23

    2ten Dialog mit Button öffnen (Qt)

    Hallo,

    ich möchte mittels eines Buttons in einem Dialog einen anderen Dialog öffnen.
    Bevor jetzt "das hatten wir schon x mal" kommt, sorry tut mir leid aber ich brings mit den Beiträgen die ich bisher gefunden hab nicht hin

    Am besten fand ich noch diesen Beitrag aber das klappt bei mir irgendwie nicht.

    Ich habe im Desinger 2 Dialoge erstellt ( Form0 und Form1 ), habe eine main.cpp erstellen lassen die Form0 aufruft, welcher ein Button besitzt um Form1 aufzurufen.
    Die Signal Slots sind gesetzt und nun fehlt mir der Teil, der in form0.ui.h reinkommt, ich habe folgendes Probiert:
    PHP-Code:
    #include "form1.h" 
    Form1 *f1;  // damit f1 auch nach beenden der Funktion new bestehen bleibt
    void Form0::new() 
    {     
         
    f1 =new Form1();     
         
    f1->show;

    Der Compiler beschwert sich nun immer das nichts deklariert wurde.

    Gibt es irgendwo ein einfaches Beispiel in dem sowas mal gemacht wird (inc include dateien etc).

    gruß
    Tobias

  2. #2
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Besser eine Variable in der Klasse deklarieren, die den Type Form1 hat.

    Zusätzlich wäre es noch besser ohne den ui.h Hack zu arbeiten
    (Unter anderem deswegen weil man dann nicht immer den Designer starten muß, nur um mal eine Variable hinzuzufügen)

    Ansonsten sieht es eigentlich korrekt aus (bis auf das jedesmal neu erzeugen von Form1), ohne genaue Fehlermeldung kann man dir da nicht wirklich weiterhelfen

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  3. #3
    Registrierter Benutzer
    Registriert seit
    15.09.2005
    Beiträge
    23
    Guten Morgen,

    die Fehlermeldung schaut folgendermaßen aus :
    PHP-Code:
    In file included from main.cpp:2
    .
    ui/form0.h:32errordeclaration does not declare anything 
    .ui/form0.h:32errorvirtual outside class declaration 
    .ui/form0.h:32errorparse error before `new' 
    Das soll momentan nur ein Test sein, normal hab ich dann schon nur n Zeiger auf das Objekt und erstell nicht jedes ma n neues (aber so sollte es ja eigentlich auch gehn, dachte mir das is weniger Fehleranfällig wie n Zeiger)

    gruß
    Tobias

  4. #4
    Registrierter Benutzer
    Registriert seit
    15.09.2005
    Beiträge
    23
    Nachdem ich mir schon gedanken über Alternativlösungen gemacht habe bin ich doch nochmal zurück und hab geschaut wo der Fehler liegen könnte.

    f1->show () ; // Klammern vergessen *Doh!

    @ anda_skoa
    Kannst du mir grad nochma kurz erläutern wie du das mit
    Besser eine Variable in der Klasse deklarieren, die den Type Form1 hat.
    meinst, da steh ich nämlich momentan auf m Schlauch.

    Gruß
    Tobias

  5. #5
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Eine Variable der Instanz. In C++ würde das so aussehen

    Code:
    class Form0
    {
    private:
        Form1 * f1;
    };
    Das geht auch irgendwie mit Designer wenn man Anhänger des ui.h Hacks ist.
    Class Member oder so

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •