PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Eine Frage zu QLineEdit (setText überladen)



TheDodger
04-04-2002, 07:49
So, noch mal eine Frage zum QLineEdit.

Wir haben hier ja eine wunderbare CustomClass auf Basis des QLineEdit-Widgets.
Jetzt möchte ich hier die setText() / getText() überladen, damit ich da noch ein paar kleinere Dinge tun kann.

wnn ich jtzt in meiner Klasse setText() neu deklariere, überschreibe ich doch die Ursprüngliche Funktion komplett, wie krieg ich dann den Text in's Widget?
Der original Source:


void QLineEdit::setText( const QString &text )
{
QString oldText = this->text();
d->parag->truncate( 0 );
d->parag->append( text );
d->cursor->setIndex( d->parag->length() - 1 );
if ( hasFocus() )
setMicroFocusHint( d->cursor->x() - d->offset, d->cursor->y(), 0, d->cursor->parag()->rect().height(), TRUE );
deselect();
update();
if ( oldText != text ) {
emit textChanged( text );
#if defined(QT_ACCESSIBILITY_SUPPORT)
QAccessible::updateAccessibility( this, 0, QAccessible::ValueChanged );
#endif
}
setEdited( FALSE );
}


Jenes ominöse 'd' ist allerdings private, also keine Chance darauf zugreifen zu können.
Hat jemand da eine Idee?

anda_skoa? ;))) Lange nix mehr von dir gehört *grin*

anda_skoa
12-04-2002, 11:42
Original geschrieben von TheDodger

anda_skoa? ;))) Lange nix mehr von dir gehört *grin*

Urlaub :)

Ich bin mir nicht sicher, was du in deiner Funktion machen willst, aber du kannst die Implementation einer Basisklasse immer aufrufen, wenn du den Bamen der Basisklasse voranschreibst:


MyLineEdit::setText( const QString& text )
{
QString myText = text;
// bearbeite myText
// ...

// Benutze Originalfunktion zum setzten
QLineEdit::setText(myText);
}


Ciao,
_

TheDodger
13-04-2002, 16:29
Original geschrieben von anda_skoa


Urlaub :)


es sei dir gegönnt :D




Ich bin mir nicht sicher, was du in deiner Funktion machen willst, aber du kannst die Implementation einer Basisklasse immer aufrufen, wenn du den Bamen der Basisklasse voranschreibst:

Danke.

Ich habe mir ein eigenes LineEdit zusammengestrickt, welches ein paar Funktionen extra bietet.
Unter anderem auch das Darstellen von Numeric-Werten mit 'thousand-seperator'en ...
Und die muß ich beim eintragen ja erstmal darstellen ... (und beim auslesen muß ich die natürlich raushaben).
Das ganze für eine Oracle9i Application ...