Anzeige:
Ergebnis 1 bis 3 von 3

Thema: QPainter malt nicht

  1. #1
    Registrierter Benutzer
    Registriert seit
    28.10.2003
    Beiträge
    42

    QPainter malt nicht

    Nachdem mein Programm mit QPainter nicht funktioniert hat, hab ich mal das Beispiel aus der Qt-3.2-Doc ausprobiert, was auch nicht funktioniert.

    Hier mal ein bisschen Code:

    Code:
    void TheWidget::paintEvent()
    {
      QPainter paint( this );
      paint.setPen( Qt::blue );
      paint.drawText( rect(), AlignCenter, "The Text" );
    }
    Die Methode wird da aufgerufen (da sieht man auch gleich, dass TheWidget von QWidget "abstammt"):

    Code:
    TheWidget::TheWidget(QWidget *parent, const char *name ) : QWidget(parent,name) {
    
      // ........ lass ich mal weg ....
    
      paintEvent();
    }
    Da man TheWidget nachher auf dem Bildschirm sehen kann, bin ich mir ziemlich sicher, dass die Methode auch ausgeführt wird. Beim kompilieren gibt es keinen einzigen Fehler, aber das Fenster ist nachher komplett grau, ohne irgendeine Besonderheit.

    Muss ich bei der Benutzung von QPainter noch irgendwelche besonderen Dinge beachten?
    Oder hab ich nen Fehler gemacht?

    Danke schonmal für alle Antworten

  2. #2
    Registrierter Benutzer Avatar von tuxipuxi
    Registriert seit
    30.08.2002
    Beiträge
    667
    hi,

    paintEvent hat einen parameter, naemlich:
    QWidget:aintEvent( QPaintEvent* ).

    wenn du nun den parameter weglaesst, ist es kein ueberschreiben, sondern ueberladen.
    also das musst du schonmal anedern.

    paintEvent() brauchst und sollst du nicht explizit aufrufen, dass tut das widget bei jedem neuzeichnen von selbst( wenn du es dennoch erzwingen willst: QWidget::update() ).

    ciao,

    tuxipuxi.

  3. #3
    Registrierter Benutzer
    Registriert seit
    28.10.2003
    Beiträge
    42
    THX

    Jetzt klappts ohne Probleme

Lesezeichen

Berechtigungen

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