Seite 1 von 1

QTextEdit max. 150 zeichen

Verfasst: 29. Juli 2005 18:34
von c++coder
hi,
ich möcht in ein QTextEdit max. 150 zeichen eingeben und nicht mehr!
will noch die zeichen löschen können, sowohl mit backspace als auch mit
maus makieren und entf..
wie mach ich das am besten?

ansatz:

Code: Alles auswählen

void Text::on_Edit_Message_textChanged()
{    
     if(150-(ui.Edit_Message->toPlainText()).size() == 0) {
          ui.Edit_Message->setReadOnly(true);
     }
}
problem hier, man kann nach 150 zeichen nicht mehr löschen;-)

Verfasst: 29. Juli 2005 19:22
von pm_Snake
ui.Edit_Message->setText( ui.Edit_Message->toPlainText().left( 150 ) );

eventuell geht es so. Immer nur die 150 Zeichen des Textes wieder als Text setzen. Dann sollte man auch löschen können. Kann es grad nicht testen aber könnte klappen :)

Gruß

QTextEdit

Verfasst: 29. Juli 2005 21:21
von c++coder
hi,
nö funktioniert nicht so recht, ui.Edit_Message->setText kenn ich auch nicht in QT4...

cu

max 150 zeichen

Verfasst: 1. August 2005 17:16
von c++coder
jemand eine idee?

Re: max 150 zeichen

Verfasst: 1. August 2005 22:07
von c++coder
hi,
habs so gelöst:

Code: Alles auswählen

     if (ui.Edit_Message->toPlainText().size() > 150)  {
        QString str = ui.Edit_Message->document()->toPlainText();
        str.truncate(150);
        ui.Edit_Message->setPlainText(str); 
     }
ist das normal wenn ich 150 zeichen geschrieben habe und noch eines schreibe fügt er es vorne an und hinten fällt eines raus
dh der cursor bewegt sich an den anfang? wie verhindere ich das?
bye