Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Ich bin zu blöde!

  1. #1
    Registrierter Benutzer Avatar von fs111
    Registriert seit
    23.03.2002
    Beiträge
    594

    Ich bin zu blöde!

    Hallo ihr Experten da draußen!

    Ich habe ein Problem, ind zwar bastele ich grade ein bisschen mit QT herum, und bekomme da ein Problem nicht in den Griff. Ich habe ein Widget mit QLineEdits. Von diesem erzeuge ich in meiner main Methode ein neues Objekt. Nun möchte ich den Text (mit setText) der QlineEdits ändern, aber ich weiß nicht wie ich auf diese zugreifen kann. Ich hoffe ihr versteht was ich meine.

    Code:
    #include <qapplication.h>
    #include "form2.h"
    #include "Speise.h"
    
    
    
    int main( int argc, char** argv )
    {
    
            Pizza  bar = Pizza (1, "FSK", 5, "Fleisch", "Käse", "Schinken","","");
            QApplication test( argc, argv );
    
            Form1 foo(0,0, TRUE );
            test.setMainWidget(&foo);
           //hier möchte ich jetzt auf die Strings von dem Pizza Objekt zugreifen, aber wie sage ich es //dem compiler?
            foo.show();
    
            test.exec();
            return 0;
    }
    Danke und Grüße

    fs111

  2. #2
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719
    Da müsste ich mal den Quelltect vom Pizza-Objekt haben. Aber solche initialisierungen würde ich in den Kostruktor vom Pizza-Objekt schreiben. Wenn es keine initialisierungen sind, halt entsprechnde get/set-Methoden implentieren.

  3. #3
    Registrierter Benutzer Avatar von fs111
    Registriert seit
    23.03.2002
    Beiträge
    594
    hier ist sie. Wäre echt nett, wenn Du mir helfen könntest.

    Danke und Grüße

    fs111

  4. #4
    Registrierter Benutzer Avatar von TheDodger
    Registriert seit
    17.05.2001
    Ort
    Hamburg
    Beiträge
    615

    Re: Ich bin zu blöde!

    Original geschrieben von fs111
    Hallo ihr Experten da draußen!

    Ich habe ein Problem, ind zwar bastele ich grade ein bisschen mit QT herum, und bekomme da ein Problem nicht in den Griff. Ich habe ein Widget mit QLineEdits. Von diesem erzeuge ich in meiner main Methode ein neues Objekt. Nun möchte ich den Text (mit setText) der QlineEdits ändern, aber ich weiß nicht wie ich auf diese zugreifen kann. Ich hoffe ihr versteht was ich meine.

    Code:
    #include <qapplication.h>
    #include "form2.h"
    #include "Speise.h"
    
    
    
    int main( int argc, char** argv )
    {
    
            Pizza  bar = Pizza (1, "FSK", 5, "Fleisch", "Käse", "Schinken","","");
            QApplication test( argc, argv );
    
            Form1 foo(0,0, TRUE );
            test.setMainWidget(&foo);
            // hier möchte ich jetzt auf die Strings von dem Pizza Objekt zugreifen, 
    	// aber wie sage ich es dem compiler?
            foo.show();
    
            test.exec();
            return 0;
    }
    Wie wäre es mit
    Code:
    QString zutat1 = bar.getZutat1();
    QString zutat2 = bar.getZutat2();
    .
    .
    .
    Bodo
    Systemadmistration UNIX

  5. #5
    Registrierter Benutzer Avatar von fs111
    Registriert seit
    23.03.2002
    Beiträge
    594
    String zutat1 = bar.getZutat1();
    QString zutat2 = bar.getZutat2();
    OK, das kann ich machen. Dann muss ich aber zuerst die Strings in meiner Speise.cpp ins QStrings umwandeln. Wenn das dann steht, muss ich aber irgendwie Zugriff auf die Gui Elemente bekommen. Wie sage ich ihm denn, dass er jetzt den QLineEdit blafasel aud meinem Form1 foo damit belegen soll? In Java macht man sowas ja mit der Punkt Notation, also mit foo.irgendeinElement.setText("einString"); Geht das hier auch so?

    fs111

  6. #6
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719
    Das wird nichts werden.

    foo.irgendeinElement.setText("einString");

    So in etwa müsste es aussehen:

    foo.getIrgendeinElement()->setText("Ein string");

    Du mußt natürlich noch die Methode getIrgendeinElement() implementieren. Der Pfeiloperator heist, das irgendeinElement ein Pointer ist. Man sollte QWidgets überhaupt nur als Pointer speichern.

    Zu den QStrings: Wieso verwendest du zusätzlich std::string? Du müsstest das umwandeln können:

    QString(string.c_str());

    Damit hatte ich aber schonmal fiese Probleme

  7. #7
    Registrierter Benutzer Avatar von fs111
    Registriert seit
    23.03.2002
    Beiträge
    594
    OK, Danke erstmal, dann bastel ich erstmal alles nach QString um, und dann suche ich mir einen anderen Ansatz.

    fs111

Lesezeichen

Berechtigungen

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