Russian Qt Forum

Qt => Кладовая готовых решений => Тема начата: merke от Август 24, 2010, 09:39



Название: Ограничение на ввод определенного количества символов в QTextEdit
Отправлено: merke от Август 24, 2010, 09:39
Код:
void MainWindow::on_textEdit_textChanged()
{
    ui->label_4->setText(QString::number(ui->textEdit->toPlainText().count()) + QString::fromLocal8Bit(" из 100"));
    if (ui->textEdit->toPlainText().count() >= 100){
        QString str;
        str = ui->textEdit->toPlainText().mid(0, 99);
        ui->textEdit->setText(str);
    }
}

Реализация не самая рациональная. Предлагайте свои!


Название: Re: Ограничение на ввод определенного количества символов в QTextEdit
Отправлено: Пантер от Август 24, 2010, 16:43
ui->label_4->setText(QString::number(ui->textEdit->toPlainText().count()) + QString::fromLocal8Bit(" из 100")); не в тему.
Перед ui->textEdit->setText(str); сохрани позицию курсора и селекшн, а потом их восстанови.


Название: Re: Ограничение на ввод определенного количества символов в QTextEdit
Отправлено: AAS от Октябрь 07, 2010, 08:43
А можно просто ui->label->setMaxLength(100);
или в Qt Designer поменять свойство.