Seite 1 von 1

Scrollfähiges Label

Verfasst: 11. Februar 2010 15:21
von Fahrrad
Hallo Leute,

ich habe mir für meine GUI ein Feld gebaut, in welches ich verschiedene Informationen "reinloggen" kann. Es bestelt aus einem QLabel und einer QScrollArea. Da es für QLabel kein append gibt, hab ich mir dazu eine kleine Klasse geschrieben:

Code: Alles auswählen

 class LogfieldAppender : public QObject
    {
        Q_OBJECT

    private:
        QLabel *m_label;

    public:
        LogfieldAppender( QLabel *label ) : m_label(label) {}

    public Q_SLOTS:
        void append( const QString &text )
        {
            m_label->setText( m_label->text() + text );
        }
    };
Das ganze funktioneirt auch bisher wunderbar, sobald der Platz nicht mehr reicht werden die Scrollbars eingeblendet. NUr würde ich jetzt gerne automatisch nach unten mitscrollen sobald der Text länger wird. Den "Fokus" sozusagen immer auf die letzte Zeile setzen, weiß jemand wie man das machen könnte? Habe bisher in der Doku leider nichts gefunden.

Verfasst: 11. Februar 2010 16:59
von upsala
Man kann für solche Log-Funktionen auch den QPlainTextEdit verwenden.

Ansonsten nach dem einfügen des Textes, de QScrollBars auf den Maximal-Wert setzen.