QTextEdit max. 150 zeichen

Alles rund um die Programmierung mit Qt
Antworten
c++coder
Beiträge: 47
Registriert: 11. Juli 2005 00:20
Kontaktdaten:

QTextEdit max. 150 zeichen

Beitrag 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;-)
pm_Snake
Beiträge: 86
Registriert: 7. September 2004 11:33

Beitrag 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ß
>>[-]>[-]>[-]>[-]<<<<<[->>+<-[>>>]>[[<+>-]>+>>]<<<<<]
c++coder
Beiträge: 47
Registriert: 11. Juli 2005 00:20
Kontaktdaten:

QTextEdit

Beitrag von c++coder »

hi,
nö funktioniert nicht so recht, ui.Edit_Message->setText kenn ich auch nicht in QT4...

cu
c++coder
Beiträge: 47
Registriert: 11. Juli 2005 00:20
Kontaktdaten:

max 150 zeichen

Beitrag von c++coder »

jemand eine idee?
c++coder
Beiträge: 47
Registriert: 11. Juli 2005 00:20
Kontaktdaten:

Re: max 150 zeichen

Beitrag 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
Antworten