QT - ResizeEvent

Post Reply
Message
Author
chrm

QT - ResizeEvent

#1 Post by chrm »

Hallo,
seit der Umstellung auf QT 2.2.3 bekomme ich ein sonderbares Verhalten der Programme. Egal ob QT-App oder KDE-Programm - wenn ich versuche die Eigenschften eines QWidget-Objektes zur Laufzeit des Programms zu verändern, schmiert das Programm ab, ohne eine Meldung seites QT.
Beispiel:
___________________
//---Konstruktor, Objekt feld ist in der Klasse definiert---
MyClass::MyClass(...):Q...
{
...
QLabel feld = new QLabel(..);
...
}

//----- Methode, Event, ... -------

void MyClass::QResizeEvent(QEvent ...)
{
feld->setGeometry(...);
}
__________________
Beim Skalieren des Fensters "stirbt" die Anwendung...
Woran liegt das???

Danke im Voraus,
chrm.

Pyro

Re: QT - ResizeEvent

#2 Post by Pyro »

QLabel feld = new QLabel(..);

Sollte das nicht QLabel *feld = new QLabel (..) heißen, da es sich um einen Pointer auf ein
QLabel handelt. Nur so kannst du die Eigenschafen über den Addressoperator verrändern.

Somit sollte auch
feld->setGeometry(...);
kein Problem mehr sein.

Mfg

chrm

Re: QT - ResizeEvent

#3 Post by chrm »

Sorry, hab' mich oben nur verschrieben. Es ist schon ein Pointer, daran liegts nicht <img src="http://www.pl-forum.de/UltraBoard/Images/Sad.gif" border="0" align="middle">
Danke trotzdem!

chrm

Re: QT - ResizeEvent

#4 Post by chrm »

Ach, ich Trottel! Habe das Label zwei mal initialisiert (in der Klasse und im Konstruktor) - das muss ja schief gehen. In der Klasse also:
-------------
QLabel *feld;
-------------
Im Konstruktor:
-------------------------
feld = new QLabel (...);
-------------------------
-> so ist's richtig...
Danke Pyro, Du hast mir die Augen geöffnet! Und sorry Trolltech <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

Post Reply